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

Reply via email to