# USB flash drive with card reader [solved]

## friesia

I have a Silicon Power 4GB USB flash drive with microSD card reader in the back.

My Linux kernel only recognizes the USB flash as /dev/sdc, and not the card reader. Why is that?

This is how it looks in /proc/bus/usb/devices:

```
T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 10 Spd=480 MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1307 ProdID=0190 Rev= 1.00

S:  Manufacturer=USB

S:  Product=USB

S:  SerialNumber=0000000000093F

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 98mA

I:* If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us

E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=16ms

```

Last edited by friesia on Mon May 11, 2009 7:55 am; edited 2 times in total

----------

## purak

 *friesia wrote:*   

> My Linux kernel only recognizes the USB flash as /dev/sdc, and not the card reader.
> 
> 

 

Could you post output of the following command?

```
# lspci
```

After that, you put microSD card in card reader and post output of the following command:

```
dmesg | tail
```

----------

## friesia

Ok.

```

$ lspci

00:00.0 Host bridge: ATI Technologies Inc RX780/RX790 Chipset Host Bridge

00:02.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port A)

00:0a.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port F)

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode]

00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller

00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller

00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller

00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller

00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller

00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller

00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)

00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)

00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge

00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller

00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] HyperTransport Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Link Control

01:00.0 VGA compatible controller: nVidia Corporation GeForce 8500 GT (rev a1)

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

03:07.0 Multimedia audio controller: Ensoniq 5880B [AudioPCI] (rev 02)

03:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

```

and dmesg:

```

usb 2-1: new high speed USB device using ehci_hcd and address 14

usb 2-1: configuration #1 chosen from 1 choice

scsi18 : SCSI emulation for USB Mass Storage devices

usb-storage: device found at 14

usb-storage: waiting for device to settle before scanning

scsi 18:0:0:0: Direct-Access     silicon  -power           0.00 PQ: 0 ANSI: 2

sd 18:0:0:0: [sdc] 7897088 512-byte hardware sectors: (4.04 GB/3.76 GiB)

sd 18:0:0:0: [sdc] Write Protect is off

sd 18:0:0:0: [sdc] Mode Sense: 00 00 00 00

sd 18:0:0:0: [sdc] Assuming drive cache: write through

sd 18:0:0:0: [sdc] 7897088 512-byte hardware sectors: (4.04 GB/3.76 GiB)

sd 18:0:0:0: [sdc] Write Protect is off

sd 18:0:0:0: [sdc] Mode Sense: 00 00 00 00

sd 18:0:0:0: [sdc] Assuming drive cache: write through

 sdc:

sd 18:0:0:0: [sdc] Attached SCSI removable disk

usb-storage: device scan complete

```

----------

## hielvc

After further reading I belive what I said is only true in the case of miniSD and usb. This is because I think th miniSD has a microcontroler to switch between usb and SD formats.  So that means the mini usb micro SD adapter doesnt have chips just wire etches connecting a usb pinout to a SD pinout.

Now a mutil card reader does have compents on it to convert the different electrical,data, and control signals to usb format.

----------

## friesia

I don't think it only connects the pins, because both disks appear if I plug it into Windows station.

----------

## hielvc

My mistake. I thought you talking about the mini usb adapter several of my mini SDs have come with. I thougth the dual readings were 1000 and 1024 comparisons.

So this is a 4gig usb stick with a built in adapter for a mini SD and linux only showing the usb 4gig and not the mini SD, well beside showing the sizes, humm.

What does " fdisk -l " show ?

----------

## friesia

fdisk shows this:

```
$ fdisk -l /dev/sdc

Disk /dev/sdc: 4043 MB, 4043309056 bytes

125 heads, 62 sectors/track, 1018 cylinders

Units = cylinders of 7750 * 512 = 3968000 bytes

Disk identifier: 0x6b736964

This doesn't look like a partition table

Probably you selected the wrong device.

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1   ?      219613      429873   814758329+  74  Unknown

Partition 1 has different physical/logical beginnings (non-Linux?):

     phys=(288, 110, 36) logical=(219612, 90, 45)

Partition 1 has different physical/logical endings:

     phys=(366, 104, 37) logical=(429872, 117, 29)

Partition 1 does not end on cylinder boundary.

/dev/sdc2   ?      171637      241182   269488144   65  Novell Netware 386

Partition 2 has different physical/logical beginnings (non-Linux?):

     phys=(107, 121, 32) logical=(171636, 83, 47)

Partition 2 has different physical/logical endings:

     phys=(10, 121, 13) logical=(241181, 124, 42)

Partition 2 does not end on cylinder boundary.

/dev/sdc3   ?       69548      249981   699181456   53  OnTrack DM6 Aux3

Partition 3 has different physical/logical beginnings (non-Linux?):

     phys=(345, 32, 19) logical=(69547, 2, 18)

Partition 3 has different physical/logical endings:

     phys=(324, 77, 19) logical=(249980, 117, 49)

Partition 3 does not end on cylinder boundary.

/dev/sdc4   ?      504518      504526       32672   bb  Boot Wizard hidden

Partition 4 has different physical/logical beginnings (non-Linux?):

     phys=(65, 1, 0) logical=(504517, 43, 55)

Partition 4 has different physical/logical endings:

     phys=(128, 0, 7) logical=(504525, 97, 50)

Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order

```

----------

## friesia

I've searched once again and the solution was this:

```
CONFIG_SCSI_MULTI_LUN=y
```

----------

