On 7/9/07, Alan Stern <[EMAIL PROTECTED]> wrote: > On Mon, 9 Jul 2007, jian tao wrote: > > > Hi pals, > > > > I am a new guy of linux usb driver. I met a problem with detecting SD > > card under linux2.6.11. My developing board: MPC8349 EHCI host --> > > ISP1505 (usb PHY) --->USB2227 (SMSC Flash card Reader chip). When > > linux booting, i would success to detect usb2227 see below log. > > Then i plug in SD card, nothing could happen, it fail to find scsi > > device. I know there would be three kernel threads to polling current > > usb status. One is "hub_thread" to polling port status; one is > > "usb_stor_control_thread" to dealing with scsi cmd; another is > > "usb_stor_scan_thread" to scan scsi devie. > > > > Question1: > > when i plug SD card in USB2227 card reader, which thread would > > responsible such event? i guess it must be the "usb_stor_scan_thread". > > No. None of the threads you listed is responsible. In practice the > detection is done by HAL, a userspace daemon. > > > Question2: > > The function sd_probe would be called when a new scsi device attached. > > What is the relationship between daemon process and this function? > > Which daemon process are you talking about? In general there is no > connection between any daemons and sd_probe. > > > Question3: > > What may the main cause of such issue? (suppose no hardware issue) > > Your question isn't clear. Are you asking why the kernel does not > detect the SCSI device? But it _does_ detect the SCSI device, as you > can see from your own log: > > > LOG: > > Initializing USB Mass Storage driver... > > usb 1-1: new high speed USB device using fsl-usb2-mph and address 2 > > usb 1-1: Product: Flash Card Reader > > usb 1-1: Manufacturer: Generic > > usb 1-1: SerialNumber: 000022272228 > > Begain run the storage_probe function > > USB Mass Storage device detected > > scsi1 : SCSI emulation for USB Mass Storage devices > > usbcore: registered new driver usb-storage > > USB Mass Storage support registered. > > ..... > > Vendor: Generic Model: Flash HS-CF Rev: 3.95 > > Type: Direct-Access ANSI SCSI revision: 00 > > Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0 > > The last line shows that the kernel has detected a SCSI disk. > > Are you asking why the SD card wasn't detected when you put in in the > reader? Probably because you weren't running HAL.
Yes, the SD card wasn't detected even i plug SD card in reader first and then boot up linux kernel. From dmesg, it seems to me SD fail to reply host TEST_UNIT_READY command. Maybe it is the problem between USB2227 and SD card. You mentioned HAL (hardware abstract layer, right?), how can get more detail about it? usb-storage: *** thread awakened. usb-storage: Command TEST_UNIT_READY (6 bytes) usb-storage: 00 00 00 00 00 00 usb-storage: Bulk Command S 0x43425355 T 0x11 L 0 F 0 Trg 0 LUN 0 CL 6 usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes usb-storage: Status code 0; transferred 31/31 usb-storage: -- transfer complete usb-storage: Bulk command transfer result=0 usb-storage: Attempting to get CSW... usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes usb-storage: Status code 0; transferred 13/13 usb-storage: -- transfer complete usb-storage: Bulk status result = 0 usb-storage: Bulk Status S 0x53425355 T 0x11 R 0 Stat 0x1 usb-storage: -- transport indicates command failure usb-storage: Issuing auto-REQUEST_SENSE usb-storage: Bulk Command S 0x43425355 T 0x80000011 L 18 F 128 Trg 0 LUN 0 CL 6 usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes usb-storage: Status code 0; transferred 31/31 usb-storage: -- transfer complete usb-storage: Bulk command transfer result=0 usb-storage: usb_stor_bulk_transfer_buf: xfer 18 bytes usb-storage: Status code 0; transferred 18/18 usb-storage: -- transfer complete usb-storage: Bulk data transfer result 0x0 usb-storage: Attempting to get CSW... usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes usb-storage: Status code 0; transferred 13/13 usb-storage: -- transfer complete usb-storage: Bulk status result = 0 usb-storage: Bulk Status S 0x53425355 T 0x80000011 R 0 Stat 0x0 usb-storage: -- Result from auto-sense is 0 usb-storage: -- code: 0x70, key: 0x2, ASC: 0x3a, ASCQ: 0x0 usb-storage: Not Ready: Medium not present usb-storage: scsi cmd done, result=0x2 usb-storage: *** thread sleeping. Paul ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel