Solaris 9 and USB media

Sun has an "official" guide to using removable media, with the new USB support in Solaris 9 04/04, at: Using USB storage devices with Solaris 9

Unfortunately, there are a few errors here and there, it seems.

First of all, it suggests going to /dev/rdsk, and doing

 ls -l c*0 | grep usb
That doenst (always?) work, because the device might not HAVE "usb" in the name. For example,
/devices/pci@0,0/pci1028,155@1d,7/storage@7/disk@0,0:a
So, you're better off just looking at the full output, and judging for yourself which one you need to use. (Probably the one with "storage" in it, if you're using a flashram stick).

Secondly, the page suggests,

mkfs -F pcfs -o nofdisk,size=[size] raw-device
Trouble is, that doesnt work for cXXXXs0, even after killing vold. What appears to be needed on x86, at least, is to use the p0 device. Example that I'm trying out, for a 256meg flash stick:
mkfs -F pcfs -o nofdisk,size=262144 /dev/dsk/c2t0d0p0
But.. that still might not work!!

So, worst case, if you want to deal with a PCFS memory stick, on solx86, you have to be root, and then manually do stuff like

mount -F pcfs /dev/dsk/c2t0d0p0:c /mnt
Note the use of both "p0", and ":c" (to denote dos "C drive" style access) Yes, neither :a nor :b will work.

And on top of ALL THAT.... The support for it seems unreliable. It doesnt always work.

ALTERNATIVELY, you can try killing vold, inserting the stick, then starting vold. that sometimes works better, and automatically mounts the media under /rmdisk/rmdisk0. But even then, writes to it may be unreliable.

Final note: in theory, the user interface would involve the command "volrmmount". But it doesnt seem to work, just like vold "should" detect an insert, but doesnt. Kill-and-restart-vold seems to be the best way, even in sol10 x86

Solaris 10 and USB sticks

There are some small updates and improvements in solaris 10, for USB sticks, somewhwat mentioned here:

http://www.sun.com/io_technologies/usb/USB-Faq.html#Storage

Summary: on x86, your life becomes much easier by using using c2t0d0p1, to access "1st fdisk partition". In comparison, on sparc, you still have to use the odd colon notation mentioned above: c2t0d0s2:c

The good news is, there is at least an "fdisk" command on sparc, and it actually works!... you need to use it on slice 2, no ":c".

A convenient shortcut to see if an inserted device is recognized by the kernel, is to run the "rmformat" command. It will give you a list of all "removable media" devices. (USB inserts, and also cdrom type devices) For example:

$ rmformat
Looking for devices...
     1. Logical Node: /dev/rdsk/c0t2d0s2
        Physical Node: /pci@1e,600000/ide@d/sd@2,0
        Connected Device: TOSHIBA  ODD-DVD SD-R1512 1010
        Device Type: DVD Reader
     2. Logical Node: /dev/rdsk/c2t0d0s2
        Physical Node: /pci@1e,600000/usb@a/storage@1/disk@0,0
        Connected Device: Sony     Storage Media    0100
        Device Type: Removable

Written by: Philip Brown
Bolthole Top - Solaris Top - Search Bolthole.com