Hi , i am facing forced disconnect of my usb composite device under the situation described below : 1 ) i plugged a 4 port bus powered external usb hub into linux pc's root hub . 2) i plugged the usb device into one of the 4 ports of external usb hub . 3) i plugged another 4 port external usb hub (same vendor as for 1st external hub ) into one of the available port of first external usb hub . topology looks like this root hub <- 1st 4 port external usb hub <- usb device <- 2nd 4 port external usb hub but most of the time when 2nd usb hub is plugged into the 1st hub , usb device gets disconnected automatically from 1st hub , though physically it is plugged in to the 1st external usb hub . 4) under what conditions a device can automatically get disconnected from a hub ? 5) is it something related to power issue ? 6) if a hub cannot meet the power requirements of a device attached to its port , will it do a disconnect to the device ? 7) my dmesg logs are attached for the following situations : a) when usb device is plugged into first external usb hub (dmesg_device_connect_No_2nd_hub.txt) b) when 2nd usb hub is plugged into 1st usb hub and the device disconnects . 8) i have enclosed cat /proc/bus/usb/devices log below : cat /proc/bus/usb/devices for external hub and device is as follows : T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 2 Spd=480 MxCh= 4 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05e3 ProdID=0608 Rev= 9.01 S: Product=USB2.0 Hub C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2 P: Vendor=05ac ProdID=1261 Rev= 0.01 S: Manufacturer=Apple Inc. S: Product=iPod S: SerialNumber=000A270013A06238 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms C: #Ifs= 3 Cfg#= 2 Atr=c0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver= I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver= I: If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver= E: Ad=81(I) Atr=01(Isoc) MxPS= 192 Ivl=1ms I: If#= 2 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver= E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=125us Thanx & Regards Amit Nagal
[ 972.087350] usb usb1: usb resume [ 972.087355] ehci_hcd 0000:00:1a.7: resume root hub [ 972.107011] hub 1-0:1.0: hub_resume [ 972.107032] ehci_hcd 0000:00:1a.7: GetStatus port 6 status 001803 POWER sig=j CSC CONNECT [ 972.107036] hub 1-0:1.0: port 6: status 0501 change 0001 [ 972.208019] hub 1-0:1.0: state 7 ports 6 chg 0040 evt 0000 [ 972.208027] hub 1-0:1.0: port 6, status 0501, change 0000, 480 Mb/s [ 972.259253] ehci_hcd 0000:00:1a.7: port 6 high speed [ 972.259259] ehci_hcd 0000:00:1a.7: GetStatus port 6 status 001005 POWER sig=se0 PE CONNECT [ 972.310021] usb 1-6: new high speed USB device using ehci_hcd and address 2 [ 972.361250] ehci_hcd 0000:00:1a.7: port 6 high speed [ 972.361255] ehci_hcd 0000:00:1a.7: GetStatus port 6 status 001005 POWER sig=se0 PE CONNECT [ 972.425005] usb 1-6: default language 0x0409 [ 972.425380] usb 1-6: udev 2, busnum 1, minor = 1 [ 972.425383] usb 1-6: New USB device found, idVendor=05e3, idProduct=0608 [ 972.425386] usb 1-6: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 972.425389] usb 1-6: Product: USB2.0 Hub [ 972.425464] usb 1-6: uevent [ 972.425483] usb 1-6: usb_probe_device [ 972.425486] usb 1-6: configuration #1 chosen from 1 choice [ 972.431014] usb 1-6: adding 1-6:1.0 (config #1, interface 0) [ 972.431031] usb 1-6:1.0: uevent [ 972.431043] hub 1-6:1.0: usb_probe_interface [ 972.431044] hub 1-6:1.0: usb_probe_interface - got id [ 972.431046] hub 1-6:1.0: USB hub found [ 972.431377] hub 1-6:1.0: 4 ports detected [ 972.431379] hub 1-6:1.0: standalone hub [ 972.431380] hub 1-6:1.0: ganged power switching [ 972.431381] hub 1-6:1.0: global over-current protection [ 972.431383] hub 1-6:1.0: Single TT [ 972.431384] hub 1-6:1.0: TT requires at most 32 FS bit times (2664 ns) [ 972.431386] hub 1-6:1.0: Port indicators are supported [ 972.431387] hub 1-6:1.0: power on to power good time: 100ms [ 972.431751] hub 1-6:1.0: local power source is good [ 972.431752] hub 1-6:1.0: no over-current condition exists [ 972.431754] hub 1-6:1.0: enabling power on all ports [ 972.432761] drivers/usb/core/inode.c: creating file '002' [ 972.533004] usb 1-6: link qh256-0001/f718d100 start 1 [1/0 us] [ 972.533022] hub 1-6:1.0: state 7 ports 4 chg 0000 evt 0000 [ 975.000019] hub 1-6:1.0: hub_suspend [ 975.000026] usb 1-6: unlink qh256-0001/f718d100 start 1 [1/0 us] [ 975.000263] usb 1-6: usb auto-suspend [ 978.000013] hub 1-0:1.0: hub_suspend [ 978.000019] usb usb1: bus auto-suspend [ 978.000021] ehci_hcd 0000:00:1a.7: suspend root hub [ 981.959954] ehci_hcd 0000:00:1a.7: port 6 remote wakeup [ 981.959967] usb usb1: usb resume [ 981.959970] ehci_hcd 0000:00:1a.7: resume root hub [ 981.979008] hub 1-0:1.0: hub_resume [ 981.979025] hub 1-0:1.0: port 6: status 0507 change 0000 [ 981.979033] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0000 [ 981.984015] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0040 [ 981.984126] ehci_hcd 0000:00:1a.7: GetStatus port 6 status 001005 POWER sig=se0 PE CONNECT [ 981.995009] usb 1-6: usb wakeup-resume [ 981.995015] usb 1-6: finish resume [ 981.995381] hub 1-6:1.0: hub_resume [ 981.996383] hub 1-6:1.0: port 4: status 0101 change 0001 [ 982.097014] ehci_hcd 0000:00:1a.7: reused qh f718d100 schedule [ 982.097019] usb 1-6: link qh256-0001/f718d100 start 1 [1/0 us] [ 982.097026] hub 1-0:1.0: resume on port 6, status 0 [ 982.097030] hub 1-6:1.0: state 7 ports 4 chg 0010 evt 0000 [ 982.097256] hub 1-6:1.0: port 4, status 0101, change 0000, 12 Mb/s [ 982.108256] hub 1-6:1.0: port 4 not reset yet, waiting 10ms [ 982.170258] usb 1-6.4: new high speed USB device using ehci_hcd and address 3 [ 982.181252] hub 1-6:1.0: port 4 not reset yet, waiting 10ms [ 982.255625] usb 1-6.4: skipped 3 descriptors after interface [ 982.255629] usb 1-6.4: skipped 2 descriptors after interface [ 982.255632] usb 1-6.4: skipped 1 descriptor after endpoint [ 982.255635] usb 1-6.4: skipped 1 descriptor after interface [ 982.255747] usb 1-6.4: default language 0x0409 [ 982.256125] usb 1-6.4: udev 3, busnum 1, minor = 2 [ 982.256128] usb 1-6.4: New USB device found, idVendor=05ac, idProduct=1261 [ 982.256132] usb 1-6.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 982.256135] usb 1-6.4: Product: iPod [ 982.256138] usb 1-6.4: Manufacturer: Apple Inc. [ 982.256140] usb 1-6.4: SerialNumber: 000A270013A06238 [ 982.256222] usb 1-6.4: uevent [ 982.256240] usb 1-6.4: usb_probe_device [ 982.256243] usb 1-6.4: configuration #1 chosen from 2 choices [ 982.263381] usb 1-6.4: adding 1-6.4:1.0 (config #1, interface 0) [ 982.263406] usb 1-6.4:1.0: uevent [ 982.263430] usb-storage 1-6.4:1.0: usb_probe_interface [ 982.263436] usb-storage 1-6.4:1.0: usb_probe_interface - got id [ 982.271605] scsi4 : SCSI emulation for USB Mass Storage devices [ 982.271709] usb-storage: device found at 3 [ 982.271710] usb-storage: waiting for device to settle before scanning [ 982.271725] drivers/usb/core/inode.c: creating file '003' [ 987.278411] scsi 4:0:0:0: Direct-Access Apple iPod 1.62 PQ: 0 ANSI: 0 [ 987.279797] sd 4:0:0:0: Attached scsi generic sg2 type 0 [ 987.280390] sd 4:0:0:0: [sdb] 29255991 4096-byte logical blocks: (119 GB/111 GiB) [ 987.280887] sd 4:0:0:0: [sdb] Write Protect is off [ 987.280890] sd 4:0:0:0: [sdb] Mode Sense: 68 00 00 08 [ 987.280891] sd 4:0:0:0: [sdb] Assuming drive cache: write through [ 987.281205] usb-storage: device scan complete [ 987.282138] sd 4:0:0:0: [sdb] 29255991 4096-byte logical blocks: (119 GB/111 GiB) [ 987.283195] sd 4:0:0:0: [sdb] Assuming drive cache: write through [ 987.283198] sdb: sdb1 [ 987.317014] sd 4:0:0:0: [sdb] 29255991 4096-byte logical blocks: (119 GB/111 GiB) [ 987.317635] sd 4:0:0:0: [sdb] Assuming drive cache: write through [ 987.317637] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[ 1119.511517] hub 1-6:1.0: state 7 ports 4 chg 0000 evt 0008 [ 1119.512070] hub 1-6:1.0: port 3, status 0100, change 0001, 12 Mb/s [ 1119.512384] usb 1-6.3: USB disconnect, address 5 [ 1119.512387] usb 1-6.3: unregistering device [ 1119.512390] usb 1-6.3: usb_disable_device nuking all URBs [ 1119.512395] usb 1-6.3: unregistering interface 1-6.3:1.0 [ 1119.512457] usb 1-6.3:1.0: uevent [ 1119.512576] usb 1-6.3: uevent [ 1119.617257] hub 1-6:1.0: debounce: port 3: total 100ms stable 100ms status 0x100 [ 1124.375292] hub 1-6:1.0: state 7 ports 4 chg 0000 evt 0014 [ 1124.375778] hub 1-6:1.0: port 2, status 0101, change 0001, 12 Mb/s [ 1124.480277] hub 1-6:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 [ 1124.542278] usb 1-6.2: new high speed USB device using ehci_hcd and address 6 [ 1124.617019] usb 1-6.2: default language 0x0409 [ 1124.617392] usb 1-6.2: udev 6, busnum 1, minor = 5 [ 1124.617395] usb 1-6.2: New USB device found, idVendor=05e3, idProduct=0608 [ 1124.617399] usb 1-6.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 1124.617402] usb 1-6.2: Product: USB2.0 Hub [ 1124.617469] usb 1-6.2: uevent [ 1124.617487] usb 1-6.2: usb_probe_device [ 1124.617491] usb 1-6.2: configuration #1 chosen from 1 choice [ 1124.617771] usb 1-6.2: adding 1-6.2:1.0 (config #1, interface 0) [ 1124.617793] usb 1-6.2:1.0: uevent [ 1124.617808] hub 1-6.2:1.0: usb_probe_interface [ 1124.617811] hub 1-6.2:1.0: usb_probe_interface - got id [ 1124.617814] hub 1-6.2:1.0: USB hub found [ 1124.618337] hub 1-6.2:1.0: 4 ports detected [ 1124.618340] hub 1-6.2:1.0: standalone hub [ 1124.618342] hub 1-6.2:1.0: ganged power switching [ 1124.618344] hub 1-6.2:1.0: global over-current protection [ 1124.618347] hub 1-6.2:1.0: Single TT [ 1124.618350] hub 1-6.2:1.0: TT requires at most 32 FS bit times (2664 ns) [ 1124.618352] hub 1-6.2:1.0: Port indicators are supported [ 1124.618355] hub 1-6.2:1.0: power on to power good time: 100ms [ 1124.619159] hub 1-6.2:1.0: local power source is good [ 1124.619163] hub 1-6.2:1.0: no over-current condition exists [ 1124.619166] hub 1-6.2:1.0: enabling power on all ports [ 1124.628879] drivers/usb/core/inode.c: creating file '006' [ 1124.629390] hub 1-6:1.0: port 4, status 0100, change 0001, 12 Mb/s [ 1124.629638] usb 1-6.4: USB disconnect, address 3 [ 1124.629640] usb 1-6.4: unregistering device [ 1124.629641] usb 1-6.4: usb_disable_device nuking all URBs [ 1124.629645] usb 1-6.4: unregistering interface 1-6.4:1.0 [ 1124.629987] usb 1-6.4:1.0: uevent [ 1124.630057] usb 1-6.4: uevent [ 1124.729018] usb 1-6.2: link qh256-0001/f718d280 start 4 [1/0 us] [ 1124.734266] hub 1-6:1.0: debounce: port 4: total 100ms stable 100ms status 0x100 [ 1124.734272] hub 1-6.2:1.0: state 7 ports 4 chg 0000 evt 0000 [ 1127.000011] hub 1-6.2:1.0: hub_suspend [ 1127.000018] usb 1-6.2: unlink qh256-0001/f718d280 start 4 [1/0 us] [ 1127.000528] usb 1-6.2: usb auto-suspend [ 1130.000022] hub 1-6:1.0: hub_suspend [ 1130.000029] usb 1-6: unlink qh256-0001/f718d100 start 1 [1/0 us] [ 1130.000308] usb 1-6: usb auto-suspend [ 1133.000030] hub 1-0:1.0: hub_suspend [ 1133.000035] usb usb1: bus auto-suspend [ 1133.000038] ehci_hcd 0000:00:1a.7: suspend root hub