PNY USB Attache 2G Drive


Forum: User Feedback
Topic: PNY USB Attache 2G Drive
started by: lkraemer

Posted by lkraemer on May 14 2008,22:16
I have a 2G PNY USB Flash Drive (Attache) and DSL 4.3 won't recognise or mount the drive.  In emelFM I get the
following error.

mount error:

mount:  relocation error:  mount:  undefined symbol:  blkid_known_fstype

What can I do to get this USB drive mounted?

It mounts on my Ubuntu 8.04 machine under
/media/disk
with
Filesystem type msdos.

Ubuntu Properties:
UUID: 2B26-639B
vfat (16)
rw, nosuid, nodev,
relatime,  uid=1000 fmask=0077

dmask=0077 codepage=cp437, iocharset=iso8859-1 shortname=mixed utf8

What am I missing?

Thanks.

LK

Posted by jpeters on May 15 2008,08:05
I seem to recall others having problems with large flash drives.
Posted by humpty on May 15 2008,13:23
2g is not large. try low level reformatting. eg. gparted.
Posted by lkraemer on May 16 2008,02:19
humpty,
I booted Ubuntu, inserted the PNY 2G USB, ran Gparted, and told it to unmount the drive, did a reformat for FAT 16
and still have the exact same problem.

What are your suggestions now?

lk

Posted by humpty on May 16 2008,04:39
did you delete the partitions and re-create them in gparted ?

personally I'd give up myself and buy another brand (pendrives are so cheap these days).

but for enthusiasts, there is a specialist article on the net (that's been mentioned here before) that's a pretty good read. There's a few good tips for modifying the mbr and/or bootsector if you're up to it. The article is primarily for 'booting' but may also help with 'recognising'.

< http://home.graffiti.net/jaclaz:....ck.html >

Posted by lkraemer on May 18 2008,14:10
More information on the PNY Attache 2G that is recognized but
I can not find a way to get it to mount.  Any help would be appreciated.

Here is a portion of dmesg:
<6>usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
<6>PCI: Found IRQ 5 for device 00:14.0
<6>usb-ohci.c: USB OHCI at membase 0xccb2a000, IRQ 5
<6>usb-ohci.c: usb-00:14.0, ALi Corporation USB 1.1 Controller
<6>usb.c: new USB bus registered, assigned bus number 1
<6>hub.c: USB hub found
<6>hub.c: 2 ports detected
<6>Initializing USB Mass Storage driver...
<6>usb.c: registered new driver usb-storage
<6>USB Mass Storage support registered.
<6>hub.c: new USB device 00:14.0-1, assigned address 2
<6>scsi1 : SCSI emulation for USB Mass Storage devices
<4>scsi: unknown type 28
<4>  Vendor:           Model:                   Rev:    
<4>  Type:   Unknown                            ANSI SCSI revision: 02
<4>resize_dma_pool: unknown device type 28
<7>WARNING: USB Mass Storage data integrity not assured
<7>USB Mass Storage device found at 2
<7>ISO 9660 Extensions: Microsoft Joliet Level 3
<7>ISO 9660 Extensions: RRIP_1991A
<4>cloop: Initializing cloop v2.01
<6>cloop: loaded (max 128 devices)

<6>agpgart: AGP aperture is 64M @ 0xe0000000
<4>FAT: Did not find valid FSINFO signature.
<4>Found signature1 0x66024a1e signature2 0xc88b6602 sector=4.
<4>VFS: Can't find a valid FAT filesystem on dev 03:01.
<4>FAT: Did not find valid FSINFO signature.
<4>Found signature1 0x66024a1e signature2 0xc88b6602 sector=4.
<4>VFS: Can't find a valid FAT filesystem on dev 03:01.
<5>NTFS driver v1.1.22 [Flags: R/W MODULE]


$ mount
dev/root on / type ext2 (rw)
/dev/scd0 on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/ramdisk on /ramdisk type tmpfs (rw,size=149976k,size=145440k)
/proc/bus/usb on /proc/bus/usb type usbdevfs (rw,devmode=0666)
unionfs on /KNOPPIX/bin type unionfs (rw,dirs=/ramdisk/bin=rw:/bin=ro)
unionfs on /dev type unionfs (rw,dirs=/ramdisk/dev=rw:/dev=ro)
unionfs on /etc type unionfs (rw,dirs=/ramdisk/etc=rw:/etc=rw)
unionfs on /KNOPPIX/lib type unionfs (rw,dirs=/ramdisk/lib=rw:/lib=ro)
unionfs on /KNOPPIX/sbin type unionfs (rw,dirs=/ramdisk/sbin=rw:/sbin=ro)
unionfs on /KNOPPIX/usr type unionfs (rw,dirs=/ramdisk/usr=rw:/usr=ro)
unionfs on /ramdisk/var type unionfs (rw,dirs=/ramdisk/var=rw)


$ lsusb
Bus 001 Device 001: ID 0000:0000  
Bus 001 Device 002: ID 0930:653e Toshiba Corp.


$ lsusb -v
Bus 001 Device 001: ID 0000:0000  
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               1.10
 bDeviceClass            9 Hub
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0         8
 idVendor           0x0000
 idProduct          0x0000
 bcdDevice            0.00
 iManufacturer           0
 iProduct                2 USB OHCI Root Hub
 iSerial                 1 ccb2a000
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           25
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0
   bmAttributes         0x40
     Self Powered
   MaxPower                0mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass         9 Hub
     bInterfaceSubClass      0
     bInterfaceProtocol      0
     iInterface              0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               none
       wMaxPacketSize          2
       bInterval             255
 Language IDs: (length=4)
    0000 (null)((null))

Bus 001 Device 002: ID 0930:653e Toshiba Corp.
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 Interface
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0        64
 idVendor           0x0930 Toshiba Corp.
 idProduct          0x653e
 bcdDevice            1.00
 iManufacturer           1        
 iProduct                2 USB Flash Memory
 iSerial                 3 0612142157070
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           39
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0
   bmAttributes         0x80
   MaxPower              100mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           3
     bInterfaceClass         8 Mass Storage
     bInterfaceSubClass      6 SCSI
     bInterfaceProtocol     80 Bulk (Zip)
     iInterface              0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               none
       wMaxPacketSize         64
       bInterval             255
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               none
       wMaxPacketSize         64
       bInterval             255
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               none
       wMaxPacketSize          8
       bInterval              10
 Language IDs: (length=4)
    0409 English(US)

Thanks.

lkraemer

Posted by lucky13 on May 18 2008,15:05
Check it in c/fdisk to see if its partition table is screwed up; don't use gparted for that unless you're absolutely sure you're doing it correctly and not changing labels, etc. I just fixed a stack of zip disks last week I was told were all FUBAR but the guy who gave them to me had used parted and misset disk labels so they were misread. His mistake is my gain.

Also note, not all USB devices conform to accepted standards. What works perfectly well in Windows doesn't always work in Linux and what works with one distro may not with another. Some distros and operating systems are configured to be more or less forgiving of such things.

I looked at a PDF from PNY's site and they say their devices should work with Linux 2.4+. I also found this:

"The Attaché is ready to work with Windows Vista, XP, and 2000 for storage, no drivers required, which is the norm. It's also ready for Mac OS, going as far back as Version 8.6. Unlike its competition from Lexar—which says nothing about Linux support yet did work when plugged into a Linux machine—the PNY Attaché went completely unrecognized by Ubuntu."
< http://www.pcmag.com/article2/0,2817,2278077,00.asp >

The article is a month and a half old. Obviously, YMMV.

Edit: Does this device have u3? Some implementations of u3 will work seamlessly under Linux, some will be very buggy under Linux if they work at all -- again, some may be more forgiving than others.

Posted by meo on May 18 2008,17:28
Hi lkraemer!

I have 3 usb drives (all sandisk) and they all work with DSL. I have formatted them with fat32 and they work just fine. I'm posting this using a 2 GB Sandisk Titanium Cruzer with DSL 4.3 installed. Maybe reformatting to fat32 would do the trick.

Have fun with DSL lkraemer and hope everything works out for you,
meo

EDIT: Sorry I forgot to mention that I'm using DSL-embedded because it doesn't seem to be so grumpy about what kind of usb drive you are using. That might be a solution if it suits your preferences when it comes to DSL.

Posted by jpeters on May 18 2008,18:23
Quote (meo @ May 18 2008,17:28)
EDIT: Sorry I forgot to mention that I'm using DSL-embedded because it doesn't seem to be so grumpy about what kind of usb drive you are using. That might be a solution if it suits your preferences when it comes to DSL.

..such as the DSL-embedded 2 gig drive offered at the store


< http://damnsmalllinux.org/usb-qemu.html >

Posted by lkraemer on May 18 2008,23:55
The PNY 2G Attache doesn't have U3.  I have used Gparted
to remove the partition, create a new one, format it as FAT
and it works fine under Ubuntu 8.04, and Windows 2K, but
still is not recognized under DSL 4.3.   I've tried LBA, and
Boot flags too, making no difference in operation under DSL.

Are there any more suggestions?
Thanks.

lkraemer

Posted by lucky13 on May 19 2008,00:07
(1) with it inserted: sudo fdisk -l
(2) Back up any data on the stick, zero out its partition table, repartition it using fdisk or cfdisk, use mkdosfs (from dsl) to put the filesystem on it, try mounting it again.

I don't trust g/parted for (2).

Posted by lkraemer on May 19 2008,20:47
I used Gparted the last test to make a FAT 32 Partition LBA, & Boot.
It appears to be what is on the PNY now.

Here is the output from fdisk.
sudo fdisk -l /dev/sdb

Disk /dev/sdb: 2026 MB, 2026373120 bytes
255 heads, 63 sectors/track, 246 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00066eb4

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         246     1975963+   c  W95 FAT32 (LBA)

I don't know how to zero out the partition table, or make
a new partition using fdisk, or the use of mkdosfs.
Will you please be more specific, with the terminal commands to help me do this?
I have done man fdisk, and mkdosfs, but need more details.

Thanks.

lkraemer

Posted by lucky13 on May 19 2008,21:12
Before we go to the option of last resort, let's look at one more thing. With it inserted, what's in /etc/fstab for it? You can paste in the contents of the entire file or just the line for /dev/sdb1 (if that's the same device, else whichever node is set for it). I want to see what hotplug is doing with its point since it shows up in fdisk -l with a partition (which should be mountable).
Posted by lkraemer on May 20 2008,09:47
lucky13,
I may have mis-lead you.  The output of fdisk is from my
Ubuntu 8.04 machine.  I can't get DSL 4.3 to show the
same output with the same command.  It says not
recognized.  Sorry, for the confusion.  But, lsusb
does see it as a Toshiba device as posted above on DSL.

On Ubuntu the mount point is /media/disk.  Nothing ever
shows up in emelfm for a mount point.  I haven't been
able to find anything about it in a Terminal window either.
Gparted LiveCD will show the partition and that is what I
have been using.

Thanks for your help, sorry for the confusion.

lkraemer

Posted by lucky13 on May 20 2008,11:11
Quote
The output of fdisk is from my
Ubuntu 8.04 machine.  I can't get DSL 4.3 to show the
same output with the same command.

Ahhh. And in DSL hotplug isn't setting any point at all or even an entry in /etc/fstab (even for /dev/sdb without a partition number)? I was hoping it was at least setting a point/enrty in fstab but with a wrong filesystem or even wrong node.

The mount points between distros will vary, so that's beside the point. And the differences between 2.6 (Ubuntu) and 2.4 (DSL) in handling all of this are significant. What shouldn't matter so much is recognition of the device's filesystem(s) so the same task -- mounting -- can be handled either way.

Let me know if this is absolutely essential for you to use DSL and if you're concerned and willing enough to repartition and format manually. It's not very difficult (aside from backing up), but there's also no guarantee it will result in any difference from what you have now.

Posted by lkraemer on May 20 2008,20:55
lucky13,
I just booted DSL 4.3 with the PNY 2 Gig inserted,
and there is no entry in /etc/fstab for /dev/sda,
only /dev/hda1 my WIN2K hard drive as I am
running off a LiveCD.

I'm ready when ever you are.  I don't have to back
up the PNY because there is nothing on it that I need.
Let's go, but be specific with your Terminal instructions.

Thanks.

lkraemer

Posted by lucky13 on May 20 2008,21:47
Okay, first step. Read through this first.

Open a terminal and enter this (assuming it's the only USB device and would be detected at /dev/sda):
Code Sample
sudo cfdisk /dev/sda


If you get any errors and/or it fails to load, try this:
Code Sample
sudo cfdisk -z /dev/sda


This second one (with -z) will start with a zero partition table (edit: to clarify, that flag causes cfdisk to ignore any existing partition table and to overwrite it with a new one).

You should be able to set up the partition(s) on it now. You can allocate it all as one partition or however you want. Just remember that Windows is picky about the first partition on devices being FAT -- which should be moot if you're only using one partition and it's FAT. Set up at least one *primary* partition. If you're making only one, choose the whole disk (whatever number in MB it offer). When you have the partition(s) set up, you need to set the filesystem type (toggle the commands on bottom and use the "type" command). When it's set up the way you want, select "write." It will prompt you if you're sure you want to do write it. If it looks right, then go ahead and type "yes" (it requires full assent, not y or n). Once it confirms it's written the table you can safely exit. It will tell you that it's lacking a bootable partition; don't bother toggling it as bootable if you're not going to boot from it (even though it won't hurt if it's toggled bootable).

Next, you'll need to create the filesystem. Make sure the device isn't mounted (cat /etc/mtab); umount it if it's mounted. You'll use mkdosfs for this. I'm going to presume you're making one partition (sda1). If you set up the partition for FAT16, you should just need to use the command by itself (see below):
Code Sample
sudo mkdosfs /dev/sda1


If you want FAT32, you'll need to flag that:
Code Sample
sudo mkdosfs -F 32 /dev/sda1


(You can use the -F 16 flag to *make sure* you write FAT16.)

Then it should quickly give you another prompt. Double check your fstab entry to insure it's not set up for a different filesystem (and to see if hotplug has assigned a point without any further intervention). If you want to be safe, you can edit fstab so the filesystem is set to "auto."

You're looking for two lines in /etc/fstab like these (this is mine -- yours will be sda1 if it's the first USB device inserted):
Code Sample
# Added by KNOPPIX
/dev/sdb1 /mnt/sdb1 auto noauto,users,exec 0 0

in which "auto" could be listed as vfat, etc., instead. Go ahead and set it on auto if it isn't and cross your fingers.

Then try to mount (using the appropriate point for your device):
Code Sample
mount /mnt/sdb1


Hopefully you'll get a prompt quickly and be good to go. Don't forget to umount before removing the device.

---------------------

I just walked through this with a zip disk (mine are all ext2; used my USB zip drive) using the "cfdisk -z" and type=06 (FAT16) and then used "mkdosfs -F 16" to make sure DSL doesn't have any issues. This is the line from /etc/mtab showing how it's mounted:
/dev/sdb1 /mnt/sdb1 msdos rw,nosuid,nodev 0 0

Let me know if you need any clarification or if you run into any more problems.

edit: Just to make sure it correctly applies/handles FAT32 (I already know it does), I ran through the same process setting type=0B (Win95 FAT 32) in cfdisk and then used "mkdosfs -F 32". Remounted:
/dev/sdb1 /mnt/sdb1 vfat rw,nosuid,nodev 0 0

So I know it should work either way barring any strange quirks with your particular device.

Posted by lkraemer on May 21 2008,01:10
lucky13,
I tried:
sudo cfdisk /dev/sda   and  sudo cfdisk -z /dev/sda
and both gave me the following error message.

FATAL ERROR: Cannot open disk drive
  Press any key to exit cfdisk

lsusb shows the device as:
Bus 001 Device 002:  ID 0930:653e Toshiba Corp.
and if I unplug it this entry goes away, so I know
for sure one and only one USB device is this one.

So, now I am lost again.  I just don't understand
why it shows up under lsusb but can't be accessed.
Is there another way to access it and remove the
partition and re-start the process you have just described?

Thanks for the additional information and help.

lkraemer

Posted by lucky13 on May 21 2008,01:38
How long have you had this stick? Do you still have a receipt for it? Like I wrote previously, sometimes it comes down to the device being corrupt and other OSes (including other distros) have more "tolerance" for errors.

Worst case scenario, you just won't be able to use that with DSL but can with Ubuntu and whatever else it works with.

As a last ditch effort, you can try to zero out the partition table and then try cfdisk again but I have a hunch the problem is going to persist since cfdisk -z (which ignores whatever partition table may or may not be on it) was futile. But you never know -- maybe the problem is a really wacked out partition table the other distro can read but DSL can't.

If you want to try zeroing out manually, do this:
Code Sample
sudo dd if=/dev/zero of=/dev/sdX bs=512 count=1


(**** EDITED - where X is the node for the USB stick corrected per curaga's reminder.)

This literally zeroes out the partition table.

Then you'll have to try cfdisk again (either step above) and then go through the rest of the steps if it doesn't return another fatal error. If you can't get it to read under DSL, you should be able to repartition and create filesystem as you did before with Ubuntu, Windows, etc.

Posted by lucky13 on May 21 2008,02:02
Two more things...

Try this before you zero anything out. Open a terminal. Enter:
Code Sample
sudo tail -f /var/log/messages

Then insert the device. Wait and several messages should print to screen. Copy all the events related to that back here. It may not be any more informative than what you've already pasted but maybe it will have something that can narrow it down to something unrelated to the device.

(You can ctrl-c to break tail after you get the events and remove the device.)

You can also enter "lsusb -v" with the device plugged in and see if there's anything else useful in the more verbose output.

Posted by lkraemer on May 21 2008,10:17
lucky13,
The Term command:
sudo tail -f /var/log/messages
didn't provide any message to the screen.

I waited about 2 minutes, then <CNTL C>

Haven't tried the partition zero yet.
Will to that this afternoon after work.

Thanks again.

lkraemer

Posted by lucky13 on May 21 2008,10:59
Please try the same thing in Ubuntu if you get a chance. I'm curious what it can "see" that DSL doesn't. I'm not sure the command to zero out the partition table is going to work (at least in DSL) if there's no system message at all when you insert it.
Posted by mikshaw on May 21 2008,11:04
Quote
sudo tail -f /var/log/messages
didn't provide any message to the screen.

syslogd needs to be running for /var/log/messages to display anything.

Posted by lucky13 on May 21 2008,11:21
Quote
syslogd needs to be running for /var/log/messages to display anything.

doh

Posted by mikshaw on May 21 2008,11:40
Quote
doh

It's spelled "D'OH"

Posted by curaga on May 21 2008,14:36
Don't go zeroing sda in ubuntu!!

Ubuntu uses the libata layer, and your *main* hard disk will be sda there.

Posted by lucky13 on May 21 2008,14:46
Quote
Don't go zeroing sda in ubuntu!!

Edited previous entry accordingly. Thanks.

Posted by lkraemer on May 22 2008,01:01
lucky13,
I found a website that led me through another testing
process:

< http://tldp.org/HOWTO/Flash-Memory-HOWTO/verifications.html >

It works until I get to the statement that says.....
If everything went smoothly, you should be able to see the device:

I get a invalid block device error.
What about trying:
< http://tldp.org/HOWTO/Flash-Memory-HOWTO/ext2.html >

Thanks.

lkraemer

Posted by lucky13 on May 26 2008,13:05
Quote
What about trying...

There's no guarantee that using a different filesystem will solve this problem, especially if the device itself has some issue. And I would almost be willing to bet that's the problem since at least one of the reviews of that brand and product line noted it went undetected in one particular distro (which, ironically, is the one in which you got it to work). As I've written already, such issues can be quirky and affect use in one OS or one distro but not across the board. Hardware, especially media, can be like that. It could be a problem with their quality control and limited to certain sticks or it could be more pervasive because of something they're doing that they shouldn't -- I just don't know.

Using ext2 also will prevent your device from working in Windows unless you have a functional ext2 driver (such as ext2 IFS) for Windows; that's a different subject for someone else to discuss because I don't have any experience with that and have questions about file permissions between operating systems (since Windows doesn't observe r-w-x permissions the way Unix-like systems do).

Posted by lkraemer on May 27 2008,10:10
lucky13,
Thanks for your help.....I've given up for now.

LK

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.