i tried today's git due to Greg's usb patches,
but they don't work.
i wrote already twice the problem:
Stopping tasks: ==========================|
Freeing memory... done (13146 pages freed)
usbfs 2-2:1.0: no suspend?
Could not suspend device 2-2: error -16
Some devices failed to suspend
Restarting tasks... done
If needed i'll reattach the patch i have (against 2.6.14-rc2 iirc)
lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 0915:8000 GlobeSpan, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host
bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP
bridge (rev 03)
00:04.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
00:04.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:04.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:04.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:09.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone]
(rev 30)
00:0a.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 50)
00:0a.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 50)
00:0a.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
00:0b.0 Multimedia audio controller: Ensoniq ES1370 [AudioPCI] (rev 01)
00:0d.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado]
(rev 74)
01:00.0 VGA compatible controller: ATI Technologies Inc Rage 128 RF/SG AGP
On Fri, 25 Nov 2005, Patrizio Bassi wrote:
> i tried today's git due to Greg's usb patches,
> but they don't work.
>
> i wrote already twice the problem:
You wrote about it on lkml, not linux-usb-devel. So it might not have
been noticed by the USB developers.
> Stopping tasks: ==========================|
> Freeing memory... done (13146 pages freed)
> usbfs 2-2:1.0: no suspend?
> Could not suspend device 2-2: error -16
> Some devices failed to suspend
> Restarting tasks... done
>
> If needed i'll reattach the patch i have (against 2.6.14-rc2 iirc)
>
> lsusb
> Bus 004 Device 001: ID 0000:0000
> Bus 003 Device 001: ID 0000:0000
> Bus 002 Device 002: ID 0915:8000 GlobeSpan, Inc.
> Bus 002 Device 001: ID 0000:0000
> Bus 001 Device 001: ID 0000:0000
Looks like the vanilla kernel needs to add suspend/resume methods for
usbfs bindings. What is that GlobeSpan device? Are you running a
userspace program that controls it? If you are, you can try quitting that
program before suspending.
Also, if you haven't tried it, you might want to apply this patch:
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-all-2.6.15-rc2-git3.patch
or whatever is the most current version when you download it.
Alan Stern
Alan Stern ha scritto:
>On Fri, 25 Nov 2005, Patrizio Bassi wrote:
>
>
>
>>i tried today's git due to Greg's usb patches,
>>but they don't work.
>>
>>i wrote already twice the problem:
>>
>>
>
>You wrote about it on lkml, not linux-usb-devel. So it might not have
>been noticed by the USB developers.
>
>
>
o sorry you're right. i tought usb team followed the main ml too.
>>Stopping tasks: ==========================|
>>Freeing memory... done (13146 pages freed)
>>usbfs 2-2:1.0: no suspend?
>>Could not suspend device 2-2: error -16
>>Some devices failed to suspend
>>Restarting tasks... done
>>
>>If needed i'll reattach the patch i have (against 2.6.14-rc2 iirc)
>>
>>lsusb
>>Bus 004 Device 001: ID 0000:0000
>>Bus 003 Device 001: ID 0000:0000
>>Bus 002 Device 002: ID 0915:8000 GlobeSpan, Inc.
>>Bus 002 Device 001: ID 0000:0000
>>Bus 001 Device 001: ID 0000:0000
>>
>>
>
>Looks like the vanilla kernel needs to add suspend/resume methods for
>usbfs bindings. What is that GlobeSpan device? Are you running a
>userspace program that controls it? If you are, you can try quitting that
>program before suspending.
>
>Also, if you haven't tried it, you might want to apply this patch:
>
>http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-all-2.6.15-rc2-git3.patch
>
>or whatever is the most current version when you download it.
>
>Alan Stern
>
>
>
>
globespan device is a zyxel prestige 630 adsl modem using eciadsl
userspace drivers.
after killing the driver it suspended and resumed.
but i got a problem, trying to restart driver.
[EciAdsl 3/5] Synchronization...
ERROR reading interrupts
*** glibc detected *** double free or corruption (fasttop): 0x0804f158 ***
/usr/bin/eciadsl-start: line 517: 11399 Abortito
"$BIN_DIR/eciadsl-synch" $synch_options
ERROR: failed to get synchronization
usb 2-2: usbfs: USBDEVFS_CONTROL failed cmd eciadsl-synch rqt 192 rq 222
len 13 ret -110
tried 3 times, always the same.
so i manually unplugged modem and replugged.
works perfectly (as usual).
seems a problem on suspending and resuming attached device.
i've access to eciadsl cvs so i can patch it.
the first problem (no suspend) i think can be fixed binding some signals
in userspace, which?
the second seems an init problem, that i leave to you :)
Patrizio
On Sat, 26 Nov 2005, Patrizio Bassi wrote:
> >You wrote about it on lkml, not linux-usb-devel. So it might not have
> >been noticed by the USB developers.
> >
> >
> >
> o sorry you're right. i tought usb team followed the main ml too.
Some do and some don't.
> globespan device is a zyxel prestige 630 adsl modem using eciadsl
> userspace drivers.
> after killing the driver it suspended and resumed.
>
> but i got a problem, trying to restart driver.
>
> [EciAdsl 3/5] Synchronization...
>
> ERROR reading interrupts
> *** glibc detected *** double free or corruption (fasttop): 0x0804f158 ***
> /usr/bin/eciadsl-start: line 517: 11399 Abortito
> "$BIN_DIR/eciadsl-synch" $synch_options
> ERROR: failed to get synchronization
>
> usb 2-2: usbfs: USBDEVFS_CONTROL failed cmd eciadsl-synch rqt 192 rq 222
> len 13 ret -110
>
> tried 3 times, always the same.
> so i manually unplugged modem and replugged.
> works perfectly (as usual).
>
> seems a problem on suspending and resuming attached device.
Maybe it's a problem in the device.
> i've access to eciadsl cvs so i can patch it.
> the first problem (no suspend) i think can be fixed binding some signals
> in userspace, which?
There are no signals sent to userspace on suspend. It's too late to send
signals, because all tasks have already been frozen.
Instead the usbfs code has to be changed to handle suspend/resume events
on behalf of userspace drivers. Or you could use that patch I mentioned
before; it unbinds drivers that don't have suspend methods.
> the second seems an init problem, that i leave to you :)
I can't do anything about it, since I don't have one of those modems.
Alan Stern
Alan Stern ha scritto:
>On Sat, 26 Nov 2005, Patrizio Bassi wrote:
>
>
>
>>>You wrote about it on lkml, not linux-usb-devel. So it might not have
>>>been noticed by the USB developers.
>>>
>>>
>>>
>>>
>>>
>>o sorry you're right. i tought usb team followed the main ml too.
>>
>>
>
>Some do and some don't.
>
>
>
>>globespan device is a zyxel prestige 630 adsl modem using eciadsl
>>userspace drivers.
>>after killing the driver it suspended and resumed.
>>
>>but i got a problem, trying to restart driver.
>>
>>[EciAdsl 3/5] Synchronization...
>>
>> ERROR reading interrupts
>>*** glibc detected *** double free or corruption (fasttop): 0x0804f158 ***
>>/usr/bin/eciadsl-start: line 517: 11399 Abortito
>>"$BIN_DIR/eciadsl-synch" $synch_options
>>ERROR: failed to get synchronization
>>
>>usb 2-2: usbfs: USBDEVFS_CONTROL failed cmd eciadsl-synch rqt 192 rq 222
>>len 13 ret -110
>>
>>tried 3 times, always the same.
>>so i manually unplugged modem and replugged.
>>works perfectly (as usual).
>>
>>seems a problem on suspending and resuming attached device.
>>
>>
>
>Maybe it's a problem in the device.
>
>
>
no..why should after resume?
however i remember some kernels ago (.13/.14) it worked
after resume hotplug restarted my driver, now not.
>>i've access to eciadsl cvs so i can patch it.
>>the first problem (no suspend) i think can be fixed binding some signals
>>in userspace, which?
>>
>>
>
>There are no signals sent to userspace on suspend. It's too late to send
>signals, because all tasks have already been frozen.
>
>Instead the usbfs code has to be changed to handle suspend/resume events
>on behalf of userspace drivers. Or you could use that patch I mentioned
>before; it unbinds drivers that don't have suspend methods.
>
>
>
i don't like to use such big patches, i'm sure Greg will merge fast ;)
>>the second seems an init problem, that i leave to you :)
>>
>>
>
>I can't do anything about it, since I don't have one of those modems.
>
>Alan Stern
>
>
>
>
i understand, i appreciate your help.
On Sat, 26 Nov 2005, Patrizio Bassi wrote:
> >Maybe it's a problem in the device.
> >
> >
> >
> no..why should after resume?
How should I know? It's _your_ device. :-)
> however i remember some kernels ago (.13/.14) it worked
> after resume hotplug restarted my driver, now not.
To get some more useful information in the system log, turn on USB
debugging (CONFIG_USB_DEBUG) and enable usbcore's usbfs_snoop=Y module
parameter.
Alan Stern
Alan Stern ha scritto:
>On Sat, 26 Nov 2005, Patrizio Bassi wrote:
>
>
>
>>>Maybe it's a problem in the device.
>>>
>>>
>>>
>>>
>>>
>>no..why should after resume?
>>
>>
>
>How should I know? It's _your_ device. :-)
>
>
>
>>however i remember some kernels ago (.13/.14) it worked
>>after resume hotplug restarted my driver, now not.
>>
>>
>
>To get some more useful information in the system log, turn on USB
>debugging (CONFIG_USB_DEBUG) and enable usbcore's usbfs_snoop=Y module
>parameter.
>
>Alan Stern
>
>
>
>
Alan, i just upgrated to 2.6.15-rc3 and it works after suspend.
hotplug starts driver lovely.
so it was a kernel bug, as i suspected.
now only userspace driver shutdown needed.
waiting next kernel versions :)