LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   USB Micro memory (http://www.linuxquestions.org/questions/linux-hardware-18/usb-micro-memory-497206/)

salte 10-31-2006 09:13 AM

USB Micro memory
 
I just recently purchased a USB micro memory which was cheap and is very handy. It works fine on windows but when I plug it into Linux nothing happens. I guess I lack a driver or something. The odd thing is that a friend of mine has a similar device (not the same manufacturer but is also a USB 2.0 memory thingy) and when I plug that into linux it works just fine.

lsusb -v -d 0204:6025 (the device in question) gives

Bus 005 Device 004: ID 0204:6025
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0204
idProduct 0x6025
bcdDevice 1.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Connection timed out

It correctly identifies the device as a mass storage SCSI device but for some reason it does not show up among my SCSI devices.

brw-r----- 1 root disk 8, 0 Oct 30 17:15 /dev/sda
brw-r----- 1 root disk 8, 1 Oct 30 17:15 /dev/sda1
brw-r----- 1 root disk 8, 2 Oct 30 17:15 /dev/sda2
brw-r----- 1 root disk 8, 3 Oct 30 17:15 /dev/sda3
brw-r----- 1 root disk 8, 4 Oct 30 17:15 /dev/sda4
brw-r----- 1 root disk 8, 5 Oct 30 17:15 /dev/sda5

it does show up as a device on the USB bus:

crw-r--r-- 1 root root 189, 515 Oct 31 16:02 /dev/bus/usb/005/004

but this is a character device and not a block device that I can mount.

EDIT START EDIT START EDIT START

I saw some other posts here and learned about the dmesg command and ran it after plugging in the device and this is what I got:

usb 5-8: new high speed USB device using ehci_hcd and address 3
ub(5.3): GetMaxLUN returned 0, using 1 LUNs
uba: uba1
usbcore: registered new driver ub
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
audit(1162368178.154:2): avc: denied { read } for pid=3331 comm="hald-probe-volu" name="uba1" dev=tmpfs ino=11599 scontext=system_u:system_r:hald_t:s0 tcontext=system_u:object_r:device_t:s0 tclass=blk_file

The device is on bus 005 device 003 when this dmesg output was made.

Someone who can dechipher this output for me and give me a clue as to why it fails? It is obvious that it is trying to load a usb mass storage device driver but that it fails for some reason.

EDIT END EDIT END EDIT END

I guess I lack a suitable driver for this unit and the question is then where can I find such a driver and how do I install it.

I run a self-compiled version of Fedora Core 5 with ndiswrapper and ntfs drivers in addition to the usual stuff from FC5. The version of FC5 is Fedora Core 2.6.15-1.2054 but has been changed by setting CONFIG_4KSTACKS to "no" and by adding ntfs and ndiswrapper modules.

Any help is appreciated.

salte

b0uncer 11-01-2006 02:17 AM

If it's an "ordinary" USB mass storage disk (i.e. "usb-stick"), it should mount. Does it use FAT filesystem as they usually do or what (can you check on Windows/Mac/some other machine)? Did you try to mount each sdan device from sda1 to 5?

When you read dmesg, what comes up when you plug the device in?

salte 11-01-2006 02:34 AM

Quote:

Originally Posted by b0uncer
If it's an "ordinary" USB mass storage disk (i.e. "usb-stick"), it should mount. Does it use FAT filesystem as they usually do or what (can you check on Windows/Mac/some other machine)? Did you try to mount each sdan device from sda1 to 5?

When you read dmesg, what comes up when you plug the device in?

As you can see from the edit, I just found out about the dmesg command and
showed the output.

I also found that the device is /dev/uba and not /dev/sda. I also found that I can manually mount /dev/ubaX - it is just the automount that fails.

Here is dmesg output again:

ub(5.3): GetMaxLUN returned 0, using 1 LUNs
uba: uba1
usbcore: registered new driver ub
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
audit(1162368178.154:2): avc: denied { read } for pid=3331 comm="hald-probe-volu" name="uba1" dev=tmpfs ino=11599 scontext=system_u:system_r:hald_t:s0 tcontext=system_u:object_r:device_t:s0 tclass=blk_file

Hope this is of help. Also, mounting /dev/uba1 for example shows the files in it just fine. Not sure what filesystem these gadgets use but I would assume some form of FAT32 or similar.

salte

b0uncer 11-01-2006 02:56 AM

Ok, thanks and sorry, I read it a bit too quickly :) well, now that you know the device file name for the stick it shouldn't be too difficult to make it automount too. I believe you should take a look at your udev rules/config, see if your device is listed there. Once udev "knows" it, you should be able to tell the system to automount the memory when it's plugged in.

I'd love to give detailed example on how to achieve this but my current system doesn't deal with devices like FC does, automount them instantly, so I'm afraid you need to take a look yourself..

If I'm right, you should start off by reading udev manuals/other docs and taking a look at /etc/udev/rules.d/

EDIT: I asked about the filesystem (FAT) just to make sure that the device isn't strangely-formatted, but since it is FAT like most of them are, there's no problem. It's just that an unknown filesystem can't be mounted..

salte 11-01-2006 03:35 AM

ok, I am a newbie to this part of Linux country. What and where is udevrules/config? I presume it is a file and tried to check /etc/udev/ and found a directory under it named /etc/udev/rules.d and in that directory I found several files:

-rw-r--r-- 1 root root 515 Aug 16 17:19 05-udev-early.rules
-rw-r--r-- 1 root root 141 Feb 12 2006 10-wacom.rules
-rw-r--r-- 1 root root 14379 Aug 16 17:19 50-udev.rules
-rw-r--r-- 1 root root 469 Aug 16 17:19 51-hotplug.rules
-rw-r--r-- 1 root root 58016 Sep 8 11:22 60-libsane.rules
-rw-r--r-- 1 root root 143 Mar 17 2006 60-net.rules
-rw-r--r-- 1 root root 984 Mar 23 2006 60-pcmcia.rules
-rw-r--r-- 1 root root 82 Jul 26 21:47 90-hal.rules
-rw-r--r-- 1 root root 106 Aug 16 17:19 95-pam-console.rules
-rwxr-xr-x 1 root root 114 Apr 6 2006 alsa.rules

So which file do I look into and what should I look for?

Perhaps the file 50-udev.rules?

I found the following in that file:

# usb devices
KERNEL=="usb/dabusb*", MODE="0660"
KERNEL=="usb/mdc800*", MODE="0660"
KERNEL=="usb/rio500", MODE="0660"

I am not quite sure what to add or if this is the right place to add it.

salte


All times are GMT -5. The time now is 12:25 AM.