Em Wednesday 20 February 2008 17:55:35 Alan Stern escreveu: > On Wed, 20 Feb 2008, Herton Ronaldo Krzesinski wrote: > > Hi, > > > > I don't know if I did the right steps, currently I'm having problems > > trying to make Intel Classmate suspend/resume work with newer kernels > > (In this case 2.6.25-rc2+ latest checkout = > > 5d9c4a7de64d398604a978d267a6987f1f4025b7). After resume, the usb devices > > still get reenumerated even with USB-Persist enabled, making the root > > device (sda) being lost as it gets redetected as sdb. It is not a > > regression, as I tested with a kernel between 2.6.22/2.6.23 release (git) > > right after persist was added and the same occurs. This is similar to the > > problem we had some time ago with 2.6.17 kernel, but that would only > > happen if you had some usb device attached to the usb ports (hub powered > > on). > > > > I enabled persist doing echo 1 > /sys/devices/(...)/power/persist for the > > device, is there something else required? The device also has the > > USB_QUIRK_RESET_RESUME quirk enabled, that from what I debugged until > > now seems required. This is a full log example (with CONFIG_USB_DEBUG > > enabled): > > Actually this doesn't look like a full log. For example, there should > be a line saying "Restarting tasks ... done."
I noticed a problem here in my netconsole parameters that I'm using but after fixing I still think there is missing output, but seems better now (also it's captured in another machine that seems more reliable in getting netconsole packets), I'll try later to use CONFIG_PRINTK_TIME to see if it helps... Besides CONFIG_USB_DEBUG is there anything additional that should be enabled? Here is the another capture: PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. ACPI: Preparing to enter system sleep state S3 Suspending console(s) usb 1-6: usb suspend usb 1-5: usb suspend usb 1-1: usb suspend hub 1-0:1.0: hub_suspend usb usb1: bus suspend ehci_hcd 0000:00:1d.7: suspend root hub drm_sysfs_suspend ACPI: PCI interrupt for device 0000:00:02.0 disabled ACPI handle has no context! ACPI handle has no context! ACPI: PCI interrupt for device 0000:00:1e.2 disabled ACPI: PCI interrupt for device 0000:00:1d.7 disabled ehci_hcd 0000:00:1d.7: --> PCI D3/wakeup uhci_hcd 0000:00:1d.3: uhci_suspend ACPI: PCI interrupt for device 0000:00:1d.3 disabled uhci_hcd 0000:00:1d.3: --> PCI D0/legacy uhci_hcd 0000:00:1d.2: uhci_suspend ACPI: PCI interrupt for device 0000:00:1d.2 disabled uhci_hcd 0000:00:1d.2: --> PCI D0/legacy uhci_hcd 0000:00:1d.1: uhci_suspend ACPI: PCI interrupt for device 0000:00:1d.1 disabled uhci_hcd 0000:00:1d.1: --> PCI D0/legacy uhci_hcd 0000:00:1d.0: uhci_suspend ACPI: PCI interrupt for device 0000:00:1d.0 disabled uhci_hcd 0000:00:1d.0: --> PCI D0/legacy Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. Back to C! PM: Writing back config space on device 0000:00:02.0 at offset 1 (was 900007, writing 900003) PM: Writing back config space on device 0000:00:1c.0 at offset f (was 20100, writing 2010a) ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16 PCI: Setting latency timer of device 0000:00:1c.0 to 64 uhci_hcd 0000:00:1d.0: PCI legacy resume ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 23 PCI: Setting latency timer of device 0000:00:1d.0 to 64 uhci_hcd 0000:00:1d.0: uhci_resume uhci_hcd 0000:00:1d.0: uhci_check_and_reset_hc: legsup = 0x0f30 uhci_hcd 0000:00:1d.0: Performing full reset usb usb2: root hub lost power or was reset usb usb2: suspend_rh uhci_hcd 0000:00:1d.1: PCI legacy resume ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 19 PCI: Setting latency timer of device 0000:00:1d.1 to 64 uhci_hcd 0000:00:1d.1: uhci_resume uhci_hcd 0000:00:1d.1: uhci_check_and_reset_hc: legsup = 0x0030 uhci_hcd 0000:00:1d.1: Performing full reset usb usb3: root hub lost power or was reset usb usb3: suspend_rh uhci_hcd 0000:00:1d.2: PCI legacy resume ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18 PCI: Setting latency timer of device 0000:00:1d.2 to 64 uhci_hcd 0000:00:1d.2: uhci_resume uhci_hcd 0000:00:1d.2: uhci_check_and_reset_hc: legsup = 0x0030 uhci_hcd 0000:00:1d.2: Performing full reset usb usb4: root hub lost power or was reset usb usb4: suspend_rh uhci_hcd 0000:00:1d.3: PCI legacy resume ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 16 (level, low) -> IRQ 16 PCI: Setting latency timer of device 0000:00:1d.3 to 64 uhci_hcd 0000:00:1d.3: uhci_resume uhci_hcd 0000:00:1d.3: uhci_check_and_reset_hc: legsup = 0x0030 uhci_hcd 0000:00:1d.3: Performing full reset usb usb5: root hub lost power or was reset usb usb5: suspend_rh ehci_hcd 0000:00:1d.7: PCI D0, from previous PCI D3 ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 23 PCI: Setting latency timer of device 0000:00:1d.7 to 64 PM: Writing back config space on device 0000:00:1e.0 at offset f (was 20000, writing 200ff) PCI: Setting latency timer of device 0000:00:1e.0 to 64 PM: Writing back config space on device 0000:00:1e.2 at offset 1 (was 2900007, writing 2900003) ACPI: PCI Interrupt 0000:00:1e.2[A] -> GSI 17 (level, low) -> IRQ 17 PCI: Setting latency timer of device 0000:00:1e.2 to 64 PM: Writing back config space on device 0000:01:00.0 at offset f (was 100, writing 10a) PM: Writing back config space on device 0000:01:00.0 at offset c (was 0, writing febc0000) PM: Writing back config space on device 0000:01:00.0 at offset 6 (was 4, writing febff004) PM: Writing back config space on device 0000:01:00.0 at offset 4 (was 1, writing e801) PM: Writing back config space on device 0000:01:00.0 at offset 3 (was 0, writing 10) PM: Writing back config space on device 0000:01:00.0 at offset 1 (was 100000, writing 100007) r8169: eth0: link up ACPI: PCI Interrupt 0000:00:02.0[A] -> GSI 16 (level, low) -> IRQ 16 usb usb1: usb resume ehci_hcd 0000:00:1d.7: resume root hub hub 1-0:1.0: hub_resume usb usb2: usb resume usb usb2: wakeup_rh hub 2-0:1.0: trying to enable port power on non-switchable hub usb usb3: usb resume usb usb3: wakeup_rh hub 3-0:1.0: trying to enable port power on non-switchable hub usb usb4: usb resume usb usb4: wakeup_rh hub 4-0:1.0: trying to enable port power on non-switchable hub usb usb5: usb resume usb usb5: wakeup_rh hub 5-0:1.0: trying to enable port power on non-switchable hub ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT usb 1-1: finish reset-resume ehci_hcd 0000:00:1d.7: port 1 high speed ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001007 POWER sig=se0 PE CSC CONNECT hub 1-0:1.0: logical disconnect on port 1 usb 1-1: gone after usb resume? status -19 usb 1-1: can't resume, status -19 hub 1-0:1.0: logical disconnect on port 1 ehci_hcd 0000:00:1d.7: GetStatus port 5 status 001803 POWER sig=j CSC CONNECT hub 1-0:1.0: port 5 status 0001.0501 after resume, 0 usb 1-5: can't resume, status -19 hub 1-0:1.0: logical disconnect on port 5 ehci_hcd 0000:00:1d.7: GetStatus port 6 status 001803 POWER sig=j CSC CONNECT hub 1-0:1.0: port 6 status 0001.0501 after resume, 0 usb 1-6: can't resume, status -19 hub 1-0:1.0: logical disconnect on port 6 Restarting tasks ... <7>hub 1-0:1.0: state 7 ports 8 chg 0062 evt 0000 hub 1-0:1.0: port 1, status 0501, change 0000, 480 Mb/s usb 1-1: USB disconnect, address 2 usb 1-1: unregistering device usb 1-1: usb_disable_device nuking all URBs usb 1-1: unregistering interface 1-1:1.0 usb 1-1:1.0: uevent usb 1-1: uevent EXT3-fs error (device sda1): ext3_find_entry: reading directory #7201 offset 0 Buffer I/O error on device sda1, logical block 0 lost page write due to I/O error on sda1 EXT3-fs error (device sda1): ext3_find_entry: reading directory #7201 offset 0 ------------[ cut here ]------------ WARNING: at fs/buffer.c:1184 mark_buffer_dirty+0x5d/0x80() Modules linked in: netconsole af_packet ipv6 snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss binfmt_misc rtc_cmos rtc_core rtc_lib snd_intel8x0 snd_ac97_codec ac97_bus pcspkr i2c_i801 snd_pcm i2c_core snd_timer snd snd_page_alloc r8169 battery ac thermal processor joydev evdev [last unloaded: button] Pid: 2574, comm: dbus-daemon Not tainted 2.6.25-rc2 #6 [<c0123444>] warn_on_slowpath+0x54/0x70 [<e0188a0c>] ? write_msg+0xcc/0xf0 [netconsole] [<c0123c54>] ? __call_console_drivers+0x54/0x70 [<c0123ce9>] ? _call_console_drivers+0x79/0x90 [<c0123f19>] ? release_console_sem+0x1d9/0x210 [<c0124320>] ? vprintk+0x210/0x3e0 [<c0124320>] ? vprintk+0x210/0x3e0 [<c01f4ff3>] ? generic_unplug_device+0x23/0x40 [<c0198d9d>] mark_buffer_dirty+0x5d/0x80 [<c01c71b6>] ext3_commit_super+0x46/0x70 [<c01c7b25>] ext3_handle_error+0x75/0xb0 [<c012450b>] ? printk+0x1b/0x20 [<c01c7c22>] ext3_error+0x52/0x60 [<c01c5788>] ext3_find_entry+0x518/0x670 [<c0200cd8>] ? rb_insert_color+0xb8/0xe0 [<c0139e6e>] ? hrtimer_start+0x6e/0xf0 [<c0375f04>] ? schedule+0x2b4/0x460 [<c01c628a>] ext3_lookup+0x3a/0xd0 [<c017e483>] do_lookup+0x133/0x180 [<c017f7ec>] __link_path_walk+0x12c/0xe10 [<c030d969>] ? kfree_skb+0x19/0x30 [<c036d0ea>] ? unix_stream_recvmsg+0x39a/0x530 [<c0180510>] link_path_walk+0x40/0xa0 [<c0162049>] ? handle_mm_fault+0xf9/0x5f0 [<c0174c31>] ? get_unused_fd_flags+0xc1/0x100 [<c0180588>] path_walk+0x18/0x20 [<c0180792>] do_path_lookup+0x82/0x1c0 [<c0177861>] ? get_empty_filp+0x61/0x130 [<c018135d>] __path_lookup_intent_open+0x4d/0x90 [<c018141f>] path_lookup_open+0x1f/0x30 [<c018151b>] open_namei+0x5b/0x620 [<c0153254>] ? unlock_page+0x24/0x30 [<c016021d>] ? __do_fault+0x17d/0x3d0 [<c0174f6c>] do_filp_open+0x2c/0x50 [<c0162049>] ? handle_mm_fault+0xf9/0x5f0 [<c0174c31>] ? get_unused_fd_flags+0xc1/0x100 [<c0174fd9>] do_sys_open+0x49/0xe0 [<c01750ac>] sys_open+0x1c/0x20 [<c0104d1e>] sysenter_past_esp+0x5f/0x85 [<c0370000>] ? wireless_spy_update+0xd0/0x110 ======================= ---[ end trace 0bd37dd02f41f8bb ]--- Buffer I/O error on device sda1, logical block 0 lost page write due to I/O error on sda1 done. EXT3-fs error (device sda1): ext3_find_entry: reading directory #8093 offset 0 Buffer I/O error on device sda1, logical block 0 lost page write due to I/O error on sda1 input: AT Translated Set 2 keyboard as /class/input/input8 ehci_hcd 0000:00:1d.7: port 1 high speed ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT usb usb2: suspend_rh (auto-stop) usb usb3: suspend_rh (auto-stop) usb 1-1: new high speed USB device using ehci_hcd and address 5 ehci_hcd 0000:00:1d.7: port 1 high speed ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT usb 1-1: USB quirks for this device: 2 usb 1-1: default language 0x0409 usb 1-1: uevent usb 1-1: usb_probe_device usb 1-1: configuration #1 chosen from 1 choice usb 1-1: adding 1-1:1.0 (config #1, interface 0) usb 1-1:1.0: uevent usb-storage 1-1:1.0: usb_probe_interface usb-storage 1-1:1.0: usb_probe_interface - got id scsi1 : SCSI emulation for USB Mass Storage devices drivers/usb/core/inode.c: creating file '005' usb 1-1: New USB device found, idVendor=08ec, idProduct=1000 usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1: Product: uDiskOnChip usb 1-1: Manufacturer: M-Systems usb 1-1: SerialNumber: 0FA14860F30378F8 ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001803 POWER sig=j CSC CONNECT hub 1-0:1.0: port 4, status 0501, change 0001, 480 Mb/s usb-storage: device found at 5 usb-storage: waiting for device to settle before scanning usb usb4: suspend_rh (auto-stop) usb usb5: suspend_rh (auto-stop) hub 1-0:1.0: debounce: port 4: total 100ms stable 100ms status 0x501 ehci_hcd 0000:00:1d.7: port 4 high speed ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001005 POWER sig=se0 PE CONNECT usb 1-4: new high speed USB device using ehci_hcd and address 6 ehci_hcd 0000:00:1d.7: port 4 high speed ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001005 POWER sig=se0 PE CONNECT usb 1-4: default language 0x0409 usb 1-4: uevent usb 1-4: usb_probe_device usb 1-4: configuration #1 chosen from 1 choice usb 1-4: adding 1-4:1.0 (config #1, interface 0) usb 1-4:1.0: uevent usb-storage 1-4:1.0: usb_probe_interface usb-storage 1-4:1.0: usb_probe_interface - got id scsi2 : SCSI emulation for USB Mass Storage devices drivers/usb/core/inode.c: creating file '006' usb 1-4: New USB device found, idVendor=05e3, idProduct=0715 usb 1-4: New USB device strings: Mfr=3, Product=4, SerialNumber=5 usb 1-4: Product: USB Reader usb 1-4: Manufacturer: Genesys usb 1-4: SerialNumber: 000000000000 hub 1-0:1.0: port 5, status 0501, change 0000, 480 Mb/s usb 1-5: USB disconnect, address 3 usb 1-5: unregistering device usb 1-5: usb_disable_device nuking all URBs usb 1-5: unregistering interface 1-5:1.0 usb 1-5:1.0: uevent usb 1-5: uevent usb-storage: device found at 6 usb-storage: waiting for device to settle before scanning ehci_hcd 0000:00:1d.7: port 5 high speed ehci_hcd 0000:00:1d.7: GetStatus port 5 status 001005 POWER sig=se0 PE CONNECT usb 1-5: new high speed USB device using ehci_hcd and address 7 ehci_hcd 0000:00:1d.7: port 5 high speed ehci_hcd 0000:00:1d.7: GetStatus port 5 status 001005 POWER sig=se0 PE CONNECT usb 1-5: default language 0x0409 usb 1-5: uevent usb 1-5: usb_probe_device usb 1-5: configuration #1 chosen from 1 choice usb 1-5: adding 1-5:1.0 (config #1, interface 0) usb 1-5:1.0: uevent drivers/usb/core/inode.c: creating file '007' usb 1-5: New USB device found, idVendor=148f, idProduct=2573 usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-5: Product: 802.11 bg WLAN usb 1-5: Manufacturer: Ralink hub 1-0:1.0: port 6, status 0501, change 0000, 480 Mb/s usb 1-6: USB disconnect, address 4 usb 1-6: unregistering device usb 1-6: usb_disable_device nuking all URBs usb 1-6: unregistering interface 1-6:1.0 usb 1-6:1.0: uevent usb 1-6: unregistering interface 1-6:1.1 usb 1-6:1.1: uevent usb 1-6: uevent ehci_hcd 0000:00:1d.7: port 6 high speed ehci_hcd 0000:00:1d.7: GetStatus port 6 status 001005 POWER sig=se0 PE CONNECT usb 1-6: new high speed USB device using ehci_hcd and address 8 ehci_hcd 0000:00:1d.7: port 6 high speed ehci_hcd 0000:00:1d.7: GetStatus port 6 status 001005 POWER sig=se0 PE CONNECT usb 1-6: skipped 1 descriptor after configuration usb 1-6: skipped 5 descriptors after interface usb 1-6: skipped 1 descriptor after endpoint usb 1-6: skipped 9 descriptors after interface usb 1-6: default language 0x0409 usb 1-6: uevent usb 1-6: usb_probe_device usb 1-6: configuration #1 chosen from 1 choice usb 1-6: adding 1-6:1.0 (config #1, interface 0) usb 1-6:1.0: uevent usb 1-6: adding 1-6:1.1 (config #1, interface 1) usb 1-6:1.1: uevent drivers/usb/core/inode.c: creating file '008' usb 1-6: New USB device found, idVendor=0ac8, idProduct=c312 usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-6: Product: Sirius USB2.0 Camera usb 1-6: Manufacturer: Vimicro Corp. hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000 hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0000 hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000 hub 5-0:1.0: state 7 ports 2 chg 0000 evt 0000 hub 2-0:1.0: hub_suspend usb usb2: bus auto-suspend usb usb2: suspend_rh hub 3-0:1.0: hub_suspend usb usb3: bus auto-suspend usb usb3: suspend_rh hub 4-0:1.0: hub_suspend usb usb4: bus auto-suspend usb usb4: suspend_rh hub 5-0:1.0: hub_suspend usb usb5: bus auto-suspend usb usb5: suspend_rh scsi 1:0:0:0: Direct-Access M-Sys uDiskOnChip 5.u4 PQ: 0 ANSI: 0 CCS sd 1:0:0:0: [sdb] 2052607 512-byte hardware sectors (1051 MB) sd 1:0:0:0: [sdb] Write Protect is off sd 1:0:0:0: [sdb] Mode Sense: 2b 00 00 00 sd 1:0:0:0: [sdb] Assuming drive cache: write through sd 1:0:0:0: [sdb] 2052607 512-byte hardware sectors (1051 MB) sd 1:0:0:0: [sdb] Write Protect is off sd 1:0:0:0: [sdb] Mode Sense: 2b 00 00 00 sd 1:0:0:0: [sdb] Assuming drive cache: write through sdb: sdb1 sd 1:0:0:0: [sdb] Attached SCSI disk sd 1:0:0:0: Attached scsi generic sg0 type 0 usb-storage: device scan complete scsi 2:0:0:0: Direct-Access Generic STORAGE DEVICE 9404 PQ: 0 ANSI: 0 sd 2:0:0:0: [sdc] Attached SCSI removable disk sd 2:0:0:0: Attached scsi generic sg1 type 0 usb-storage: device scan complete EXT3-fs error (device sda1): ext3_find_entry: reading directory #7201 offset 0 Buffer I/O error on device sda1, logical block 0 lost page write due to I/O error on sda1 EXT3-fs error (device sda1): ext3_find_entry: reading directory #8093 offset 0 Buffer I/O error on device sda1, logical block 0 lost page write due to I/O error on sda1 > > Maybe with a complete log the cause will be evident. If you want to > experiment a little, you could try adding some printk lines to the > hub_reset_resume() routine in drivers/usb/core/hub.c. It would be nice > to know for sure which branch was taken inside the "if (child) {" > block. Another good place to look is in finish_port_resume() in the > same source file; does the "if (udev->reset_resume)" test succeed? Ok, will try this. > > Alan Stern > -- []'s Herton - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html