f



USB 2.0 device won't mount on x86

Hi All,

I am running Solaris 9 4/03 on a Toshiba TE2100 laptop.  I can
successfully mount and use my Apacer 256MB USB 1.1 flash ram device on
my laptop, but I cannot mount my Apacer 64MB USB 2.0 flash ram device.

The syntax that I am using is:

mount -F pcfs /dev/dsk/c2t0d0p0:1 /mnt

The error message that I receive is:

mount: /dev/dsk/c2t0d0p0:1 is not a DOS filesystem.

I am aware of the fact that the ":1" in the special device denotes the
DOS partition table to use.  I have also tried ":2", ":3", ":4" and
":c".  I am fairly sure that it HAS been formatted as a DOS partition
as it works fine on my XP box, and a "dd if=/dev/dsk/c2t0d0p0" show
"MSDOS5.0" along with a whole lot of garbage.  I am also aware of the
fact that Solaris currently only supports USB 1.1.  That's fine - I'd
just like to get this thing working as it is, if possible  ;)

If it helps, here is the output from "prtconf -Dv":

>             storage, instance #0 (driver name: scsa2usb)
>                 Driver properties:
>                     name='scsi-selection-timeout' type=int items=1 dev=(65,0)
>                         value=000000fa
>                     name='scsi-options' type=int items=1 dev=(65,0)
>                         value=00001ff8
>                     name='scsi-watchdog-tick' type=int items=1 dev=(65,0)
>                         value=0000000a
>                     name='scsi-tag-age-limit' type=int items=1 dev=(65,0)
>                         value=00000002
>                     name='scsi-reset-delay' type=int items=1 dev=(65,0)
>                         value=00000bb8
>                     name='usb' type=int items=1 dev=none
>                         value=00000001
>                 Hardware properties:
>                     name='usb-product-name' type=string items=1
>                         value='USB Flash Drive'
>                     name='usb-serialno' type=string items=1
>                         value='07E100010450830'
>                     name='usb-num-configs' type=int items=1
>                         value=00000001
>                     name='usb-revision-id' type=int items=1
>                         value=00000100
>                     name='usb-product-id' type=int items=1
>                         value=0000b113
>                     name='usb-vendor-id' type=int items=1
>                         value=00001005
>                     name='compatible' type=string items=8
>                         value='usb1005,b113.100' + 'usb1005,b113' + 'usbif1005,class8.6.50' + 'usbif1005,class8.6' + 'usbif1005,class8' + 'usbif,class8.6.50' + 'usbif,class8.6' + 'usbif,class8'
>                     name='reg' type=int items=1
>                         value=00000001
>                     name='assigned-address' type=int items=1
>                         value=00000002
>                 disk, instance #1 (driver name: sd)
>                     Driver properties:
>                         name='pm-hardware-state' type=string items=1 dev=none
>                             value='needs-suspend-resume'
>                         name='ddi-kernel-ioctl' type=boolean dev=none
>                     Hardware properties:
>                         name='inquiry-revision-id' type=string items=1
>                             value='1.12'
>                         name='inquiry-product-id' type=string items=1
>                             value='Flash Drive'
>                         name='inquiry-vendor-id' type=string items=1
>                             value='USB'
>                         name='inquiry-device-type' type=int items=1
>                             value=00000000
>                         name='usb' type=boolean
>                         name='compatible' type=string items=1
>                             value='sd'
>                         name='lun' type=int items=1
>                             value=00000000
>                         name='target' type=int items=1
>                             value=00000000

Sorry for the long post!

Any help muchly appreciated.

Regards,
Bruce
0
bloxton (2)
7/18/2003 11:58:01 AM
comp.sys.sun.hardware 3600 articles. 0 followers. Post Follow

4 Replies
270 Views

Similar Articles

[PageSpeed] 37

bloxton@powerup.com.au (B. Loxton) writes:

> I cannot mount my Apacer 64MB USB 2.0 flash ram device.
> 
> The syntax that I am using is:
> 
> mount -F pcfs /dev/dsk/c2t0d0p0:1 /mnt
> 
> The error message that I receive is:
> 
> mount: /dev/dsk/c2t0d0p0:1 is not a DOS filesystem.
> 
> I am aware of the fact that the ":1" in the special device denotes the
> DOS partition table to use.  I have also tried ":2", ":3", ":4" and
> ":c".

Maybe the device isn't formatted like a DOS HDD, but is formatted like
a "floppy", i.e. it does not use an FDISK partition table?

What does the solaris fdisk command report:

  # fdisk -W- /dev/rdsk/c2t0d0p0

Does it list a DOS/WINDOWS fdisk partition? Something like this
(example for a 250MB ZIP media, with FDISK partition):

* systid:
....
*    6: DOSBIG
....
* Id    Act  Bhead  Bsect  Bcyl    Ehead  Esect  Ecyl    Rsect    Numsect
  6     128  1      1      0       63     32     238     32       489440  
 

A dump of the first sector could be interesting, too.  It contains the
FDISK partition table.  What does the following command print for your
Apacer 64MB device?  Does the dump end with a word "aa55", indicating a
valid fdisk partition table sector?

  # dd if=/dev/rdsk/c2t0d0p0 count=1 | od -x | tail -8


(If it's formatted like a floppy, then the mount command
"mount -F pcfs /dev/dsk/c2t0d0p0 /mnt" should work)


> I am fairly sure that it HAS been formatted as a DOS partition
> as it works fine on my XP box, and a "dd if=/dev/dsk/c2t0d0p0" show
> "MSDOS5.0" along with a whole lot of garbage.

OK, so if Solaris can read from the device using dd it probably isn't
an USB driver problem.

You could be using the wrong fdisk partition with the mount command;
or the Solaris pcfs filesystem is somehow incompatible with the
filesystem on the Apacer 64MB device; or ...


> I am also aware of the fact that Solaris currently only supports USB 1.1.

That shouldn't be a problem, USB 2.0 devices are backwards compatible
with USB 1.1.

Your system probably doesn't have an USB 2.0 host controller driver
installed (= EHCI), so the usb controller will run in USB 1.1 mode
(= UHCI on Solaris x86).

0
jk82 (23)
7/18/2003 1:35:02 PM
Juergen Keil <jk@tools.de> wrote in message news:<wyznjcdkl5.fsf@tools.de>...
> 
> Maybe the device isn't formatted like a DOS HDD, but is formatted like
> a "floppy", i.e. it does not use an FDISK partition table?
> 
> What does the solaris fdisk command report:
> 
>   # fdisk -W- /dev/rdsk/c2t0d0p0

The output of the fdisk command really looks messy:

* /dev/rdsk/c2t0d0p0 default fdisk table
* Dimensions:
*    512 bytes/sector
*    258 sectors/track
*     10 tracks/cylinder
*     49 cylinders
*
* systid:
*    1: DOSOS12
*    2: PCIXOS
*    4: DOSOS16
*    5: EXTDOS
*    6: DOSBIG
*    7: FDISK_IFS
*    8: FDISK_AIXBOOT
*    9: FDISK_AIXDATA
*   10: FDISK_0S2BOOT
*   11: FDISK_WINDOWS
*   12: FDISK_EXT_WIN
*   14: FDISK_FAT95
*   15: FDISK_EXTLBA
*   18: DIAGPART
*   65: FDISK_LINUX
*   82: FDISK_CPM
*   86: DOSDATA
*   98: OTHEROS
*   99: UNIXOS
*  101: FDISK_NOVELL3
*  119: FDISK_QNX4
*  120: FDISK_QNX42
*  121: FDISK_QNX43
*  130: SUNIXOS
*  131: FDISK_LINUXNAT
*  134: FDISK_NTFSVOL1
*  135: FDISK_NTFSVOL2
*  165: FDISK_BSD
*  167: FDISK_NEXTSTEP
*  183: FDISK_BSDIFS
*  184: FDISK_BSDISWAP
*  190: X86BOOT
*

* Id    Act  Bhead  Bsect  Bcyl    Ehead  Esect  Ecyl    Rsect   
Numsect
  114   111  116    40     357     32     45     357     778135908
1141509631
  101   105  115    43     288     114    50     367     168689522
1936028240
  121   115  32     33     366     32     43     357     1869881465
1936028192
  13    116  97     50     372     10     0      0       0       
-657740800

In fact, upon looking at this, I assumed that it must be corrupt as
half of the id's don't even exist (not even in fdisk.h).  However, as
I mentioned, this device does work quite well under XP!

> A dump of the first sector could be interesting, too.  It contains the
> FDISK partition table.  What does the following command print for your
> Apacer 64MB device?  Does the dump end with a word "aa55", indicating a
> valid fdisk partition table sector?
> 
>   # dd if=/dev/rdsk/c2t0d0p0 count=1 | od -x | tail -8

0000620 0b5e 7549 f806 41c3 00bb 6000 6a66 eb00
0000640 4eb0 4c54 5244 2020 2020 2020 0a0d 6552
0000660 6f6d 6576 6420 7369 736b 6f20 2072 746f
0000700 6568 2072 656d 6964 2e61 0dff 440a 7369
0000720 206b 7265 6f72 ff72 0a0d 7250 7365 2073
0000740 6e61 2079 656b 2079 6f74 7220 7365 6174
0000760 7472 0a0d 0000 0000 0000 ac00 d8cb aa55
0001000

> (If it's formatted like a floppy, then the mount command
> "mount -F pcfs /dev/dsk/c2t0d0p0 /mnt" should work)

Tried that - doesn't work.  (Same "not a DOS filesystem" error
message.)

> Your system probably doesn't have an USB 2.0 host controller driver
> installed (= EHCI), so the usb controller will run in USB 1.1 mode
> (= UHCI on Solaris x86).

You're right, output of "prtconf -pv|grep 000c03" indicates that I
have UHCI only, ie class-code 000c0300.

Any ideas where I go from here?  Many thanks for your help so far.

Bruce
0
bloxton (2)
7/18/2003 10:22:28 PM
bloxton@powerup.com.au (B. Loxton) writes:

> Juergen Keil <jk@tools.de> wrote in message news:<wyznjcdkl5.fsf@tools.de>...

> > What does the solaris fdisk command report:

> The output of the fdisk command really looks messy:
> 
> * Id    Act  Bhead  Bsect  Bcyl    Ehead  Esect  Ecyl    Rsect   
> Numsect
>   114   111  116    40     357     32     45     357     778135908
> 1141509631
>   101   105  115    43     288     114    50     367     168689522
> 1936028240
>   121   115  32     33     366     32     43     357     1869881465
> 1936028192
>   13    116  97     50     372     10     0      0       0       
> -657740800

> >   # dd if=/dev/rdsk/c2t0d0p0 count=1 | od -x | tail -8
> 0000660 6f6d 6576 6420 7369 736b 6f20 2072 746f
> 0000700 6568 2072 656d 6964 2e61 0dff 440a 7369
> 0000720 206b 7265 6f72 ff72 0a0d 7250 7365 2073
> 0000740 6e61 2079 656b 2079 6f74 7220 7365 6174
> 0000760 7472 0a0d 0000 0000 0000 ac00 d8cb aa55
> 0001000


OK, the magic signature word is present (so the system BIOS is allowed
to try to boot from that sector), but the fdisk partition table is
filled with text strings.

So, there are *no* usable fdisk partitions defined, you can only try
to mount something from the "whole disk" device c2t0d0p0.


> > (If it's formatted like a floppy, then the mount command
> > "mount -F pcfs /dev/dsk/c2t0d0p0 /mnt" should work)
> 
> Tried that - doesn't work.  (Same "not a DOS filesystem" error
> message.)

Too bad.  (I don't know for sure if the solaris pcfs filesystem
allows mounting of a fat filesystem from the sd driver's ...p0
device; never tried that...)


Is "fstyp -v /dev/dsk/c2t0d0p0" able to identify a supported
filesystem format on the ...p0 device?  Maybe it's not a FAT
filesystem, but an UDFS (or an apple HFS filesystem, if the device
comes from a Macintosh)?


What does "fsck -n -F pcfs /dev/rdsk/c2t0d0p0" report?
0
jk82 (23)
7/21/2003 1:58:06 PM
bloxton@powerup.com.au (B. Loxton) writes:

> > A dump of the first sector could be interesting, too.  It contains the
> > FDISK partition table.  What does the following command print for your
> > Apacer 64MB device?  Does the dump end with a word "aa55", indicating a
> > valid fdisk partition table sector?
> > 
> >   # dd if=/dev/rdsk/c2t0d0p0 count=1 | od -x | tail -8
> 
> 0000620 0b5e 7549 f806 41c3 00bb 6000 6a66 eb00

Converted to ASCII...

0000620   ^ 013   I   u 006   �   �   A   �  \0  \0   `   f   j  \0   �
0000640   �   N   T   L   D   R                          \r  \n   R   e
0000660   m   o   v   e       d   i   s   k   s       o   r       o   t
0000700   h   e   r       m   e   d   i   a   .   �  \r  \n   D   i   s
0000720   k       e   r   r   o   r   �  \r  \n   P   r   e   s   s    
0000740   a   n   y       k   e   y       t   o       r   e   s   t   a
0000760   r   t  \r  \n  \0  \0  \0  \0  \0  \0  \0   �   �   �   U   �

Converting that data to ASCII reveals the strings "NTLDR", and this
seems to be a strong hint pointing at a Windows NT "NTFS" filesystem.

Was this device formatted under Windows NT, using some variant of
NTFS?

This would explain why the device cannot be mounted on solaris,
because solaris doesn't have ntfs filesystem support.

Time to reformat the device using a FAT filesystem, it seems ...
0
jk82 (23)
7/22/2003 9:03:03 AM
Reply: