Re: Sun Solaris USB Flash Drive mount command (scsa2usb driver)

From: Eunice Santorini (unixasaurus_at_yahoo.com)
Date: 09/27/03

  • Next message: Vikas Agnihotri: "Re: A1000: Determining bad disk"
    Date: 26 Sep 2003 19:52:55 -0700
    
    

    > > Q: Which DEVICE is the one to mount?
    > > /dev/rdsk/? vs /dev/dsk/?
    > > c4t0d0s0 ? vs c4t0d0s1 vs c4t0d0s2 etc. ???
    > > c4t0d0s2:c vs c4t0d0s2:1
    > > etc.
    > When a valid SunOS disk label is missing, the SunOS disk driver creates
    > a "fake" slice table. It creates a slice table with slices "s0" and
    > "s2", and both can be used to access all of the data sectors contained
    > on the device. ... stuff removed ...
    > mount -F pcfs /dev/dsk/c4t0d0s2 /mnt

    With your expert advice, I was able to get one of two USB slots to work
    on my Sun Solaris 8 SunBlade1000 assuming the following caveats! Thanks!
    Here's a summary (as always) for others to benefit (we're not done yet).

    a) I'm sorry I ever touched the vold.conf file in the first place.
       Nothing worked the same once I did. I put it all back the way it
       originally was and rebooted. The pertinent vold.conf line is currently:
        use rmdisk drive /dev/rdsk/c*s2 dev_rmdisk.so rmdisk%d

    b) I plugged TWO USB flash cards into the two USB slots in the back of
       the SunBlade1000 (figuring that would give me twice as many chances
       at hitting just the right combination of dsk vs rdsk and controllers,
       targets, disks, slices (0 and 2 only), and FAT sections (either a thru
       h or 1 thru 5 apparently). Whew! That's a lot of variables.

    d) Mea culpa on the two UNIX newbie mistakes I made in my prior tests.
        - I now run 'fdisk' as root only (nothing else will do)
        - I won't use 'dmesg' for yesterday's events (I'll use /var/adm/message).
       And, just in case, I removed the USB wire extension (Sun says never use
       them, but, hey, it's just a wire) in case that was causing one of the
       two USB devices to not be seen by UNIX commands suggested in this thread.

    Other than that, I basically GUESSED (one by one) at the dsk vs rdsk
    combination; combined with a huge variety of controller/target/disk/slice
    combinations (thanks for letting me know only slice 0 and 2 were relevant
    to DOS-formatted USB flash sticks); combined with FAT sub-slice partitions
    of a thru h vs 1 thru 5 (thanks for providing an example which used the
    DOS sub-slice of the number 1); etc.

    The command which (finally) mounted the 128 Mbyte USB flash card was:
      csh# mkdir /usb_128
      csh# mount -F pcfs /dev/dsk/c5t0d0s2:1 /usb_128

    Of course, I GUESSED at this by testing other dsk/rdsk & controller & DOS
    sub-slice combinations until this worked; so, it wasn't at all a rational
    process - but the proof of the mount was vividly shown in the log file
    below (working backward from success to failure):
      csh% cd /usb_128
      csh% df -kl . (or df -k /usb_128)
           BOTH OF WHICH REPORTED:
            Filesystem kbytes used avail capacity Mounted on
            /dev/dsk/c5t0d0s2:1 126912 2544 124368 3% /usb_128
    And:
      csh# prtvtoc /dev/dsk/c5t0d0s2
           REPORTED:
             Partition (i.e., slice) 0 and 2 were the entire device
      csh% cd /usb_128
      csh% ls -alsF
            REPORTED: the DOS data placed there by the WinXP PC.
    And:
       csh% su root
       csh# fdisk -W - /dev/rdsk/c5t0d0s2
            REPORTED (condensed to the essentials as you've explained them):
             * /dev/rdsk/c5t0d0s2 default fdisk table
             ...
             * 512 bytes/sector
             * 32 sectors/track
             * 64 tracks/cylinder
             * 124 cylinders
             ...
             * systid:
             ...
             * 6: DOSBIG
             ...
              * Id Act Bhead Bsect Bcyl Ehead Esect Ecyl Rsect Numsect
                6 0 1 16 0 15 32 499 47 253905

       QUESTION: Does it bother anyone that the ACTIVE number is ZERO?

    And:
       csh# devfsadm -v -i sd
       csh# iostat -En | more
            REPORTED (incorrect size information):
              c5t0d0 ... blah ... blah ... blah ...
              Vendor: UsbFlash Product: Drive Revision: 1.00
                      Serial No: Size: 0.00GB <0 bytes>
              ... and ...
              sd45 ... blah ... blah ... blah ...
              Vendor: UsbFlash Product: Drive Revision: 1.00
                      Serial No: Size: 0.00GB <0 bytes>
       QUESTION: Is 'sd45' the other flash card (i.e., 256 Mbytes) I plugged in?
    And:
       csh# od -xc /dev/rdsk/c5t0d0s0 | sed 20q
            REPORTED: 20 lines of data available at that 'rdsk' device.
       QUESTION: When (please) do I use 'rdsk' vs 'dsk' in this USB process?
    And:
       csh% prtconf -D > /tmp/device_tree_1
            Plug in both USB devices (128 Mb & 256 Mb) sans extension cable.
       csh% prtconf -D > /tmp/device_tree_2
       csh% diff /tmp/device_tree_1 /tmp/device_tree_2
            REPORTED the proper scsa2usb drivers I believe:
    > hub, instance #1 (driver name: hubd)
    > storage, instance #1 (driver name: scsa2usb)
    > disk, instance #46 (driver name: sd)
    > device
    And:
      csh% dmesg | grep scsa2usb
           REPORTED (after I plugged in BOTH USB devices):
           Sep 26 17:10:10 flow usba: [ID 855233 kern.info]
               USB-device: storage@1, scsa2usb0 at bus address 5
           Sep 26 17:10:10 flow genunix: [ID 936769 kern.info]
               scsa2usb0 is /pci@8,700000/usb@5,3/hub@3/storage@1
           Sep 26 17:10:10 flow scsi: [ID 193665 kern.info]
               sd45 at scsa2usb0: target 0 lun 0
           Sep 26 17:10:10 flow genunix: [ID 408114 kern.info]
               /pci@8,700000/usb@5,3/hub@3/storage@1 (scsa2usb0) online
           Sep 26 17:10:24 flow genunix: [ID 408114 kern.info]
               /pci@8,700000/usb@5,3/hub@3/storage@1 (scsa2usb0) offline
           Sep 26 17:10:27 flow usba: [ID 855233 kern.info]
               USB-device: storage@1, scsa2usb1 at bus address 5
           Sep 26 17:10:27 flow genunix: [ID 936769 kern.info]
               scsa2usb1 is /pci@8,700000/usb@5,3/hub@4/storage@1
           Sep 26 17:10:27 flow genunix: [ID 408114 kern.info]
               /pci@8,700000/usb@5,3/hub@4/storage@1 (scsa2usb1) online
           Sep 26 17:10:27 flow scsi: [ID 193665 kern.info]
               sd46 at scsa2usb1: target 0 lun 0

    QUESTION: The command below was suggested (based on the ouput from the
              previous command above; but I have no clue what this tells me)?

      csh% ls -alrt /dev/rdsk | grep "pci@8,700000/usb@5,3/hub@3/storage@1"
            WHICH REPORTED:
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:h,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:g,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:f,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:e,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:d,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:c,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:b,raw
            ../../devices/pci@8,700000/usb@5,3/hub@3/storage@1/disk@0,0:a,raw

    Note: I removed the "eject -n" command for the same reason; I don't see
          what it tells me with respect to USB debugging (do you)?

    In summary, the high-priority QUESTIONS which remain are:
     Q: Where is the SECOND USB device? Is it at something called sd45?
        If it's sd45, how do I find the mount "/dev/?dsk/c?t?d?s?:?" argument?
        What is "sd45" if it's not the second USB flash card I plugged in?
     Q: Should vold.conf be modified or not (methinks it should be left alone)?

    The low-priority questions which remain are:
     Q: What does "ls -alrt /dev/rdsk" tell us about debugging USB devices?
     Q: When (please) do I use 'rdsk' vs 'dsk' in the USB-debugging process?
     Q: Is it a problem that "fdisk -W - /dev/rdsk/c5t0d0s2 " ACTIVE = ZERO?
     Q: Is a USB extension cable really a bad idea?

    Thanks for helping me (& everyone else who installs USB on Sun Solaris 8),
    Eunice

    --
    Please note I never read email at this address as it is a spam trap (sorry).
    

  • Next message: Vikas Agnihotri: "Re: A1000: Determining bad disk"

    Relevant Pages