2002-01-27 15:51:06

by Pierre Rousselet

[permalink] [raw]
Subject: ext2 fs corruption and usb devices

2.4.18-pre7 hopefully solves the systematic freeze i meet with
2.4.18-pre6 when dropping my ADSL usb connection.

2.4.18-pre6 freezes when rmmoding usb-uhci inside an ADSL disconnect
script. The last entries in log is :
usb.c: USB disconnect on device 1
usb.c: USB disconnect on device 2

sysrq remains responsive but doesn't avoid the need for fscking to
correct many i_blocks size, block bitmap differences... on the ext2 root fs.

running ksymoops on sysrq <p> gives this :
Pid: 285,comm: rmmod
EIP: 0010:[<c0140754>] CPU: 0 EFLAGS: 00000246 Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EAX: 00000000 EBX: cf81f3ac ECX: cf81f3ac EDX: cf81f3ac
ESI: cf983cec EDI: d08a38a0 EPB: ffffffff DS: 0018 ES: 0018
CR0: 8005003b CR2: 0805d077 CR3: 0f697000 CR4: 000006d0
Call Trace: [<d08b959c>] [<d089ea1d>] [<d089f871>] [<c01bad38>] [<c01280fd>]
[<d08b99c0>] [<d08b8173>] [<c01147a0>] [<d08b9580>] [<d08b959c>]
[<d08a363c>]
[<d0899baa>] [<d0899c02>] [<d08a363c>] [<d0899bdf>] [<d08aa1a0>]
[<d08a8916>]
[<c017b4df>] [<d08a8e36>] [<d08aa1a0>] [<c01160d3>] [<c0115477>]
[<c0106b0b>]
Warning (Oops_read): Code line not seen, dumping what data is available

>>EIP; c0140754 <inode_change_ok+24/128> <=====
Trace; d08b959c <[speedtch]udsl_usb_driver+1c/40>
Trace; d089ea1c <[usbcore]free_inode+7c/84>
Trace; d089f870 <[usbcore]usbdevfs_remove_device+30/d8>
Trace; c01bad38 <free_atm_dev+4/50>
Trace; c01280fc <kfree+16c/1c8>
Trace; d08b99c0 <[speedtch].bss.start+0/be>
Trace; d08b8172 <[speedtch]udsl_usb_disconnect+86/98>
Trace; c01147a0 <release_console_sem+8/7c>
Trace; d08b9580 <[speedtch]udsl_usb_driver+0/40>
Trace; d08b959c <[speedtch]udsl_usb_driver+1c/40>
Trace; d08a363c <[usbcore]hub_driver+1c/40>
Trace; d0899baa <[usbcore]usb_disconnect+92/104>
Trace; d0899c02 <[usbcore]usb_disconnect+ea/104>
Trace; d08a363c <[usbcore]hub_driver+1c/40>
Trace; d0899bde <[usbcore]usb_disconnect+c6/104>
Trace; d08aa1a0 <[usb-uhci]uhci_pci_driver+0/3e>
Trace; d08a8916 <[usb-uhci]uhci_pci_remove+2a/c8>
Trace; c017b4de <pci_request_regions+15e/160>
Trace; d08a8e36 <[usb-uhci]uhci_hcd_cleanup+a/32>
Trace; d08aa1a0 <[usb-uhci]uhci_pci_driver+0/3e>
Trace; c01160d2 <sys_get_kernel_syms+25a/278>
Trace; c0115476 <sys_delete_module+82/1b0>
Trace; c0106b0a <system_call+32/38>

with 2.4.18-pre7 the landing is soft :
usb.c: USB disconnect on device 1
usb.c: USB disconnect on device 2
usb.c: USB bus 1 deregistered
usb.c: deregistering driver Alcatel SpeedTouch USB
usb.c: deregistering driver usbdevfs
usb.c: deregistering driver hub

with 2.5.3-pre5 as well :
usb.c: USB disconnect on device 1
usb.c: USB disconnect on device 2
usb.c: USB bus 1 deregistered
usb.c: deregistering driver Alcatel SpeedTouch USB
usb.c: deregistering driver usbfs
usb.c: usb_hub_thread exiting
usb.c: deregistering driver hub


Pierre
--
------------------------------------------------
Pierre Rousselet <[email protected]>
------------------------------------------------


2002-01-28 14:39:56

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: ext2 fs corruption and usb devices

>Warning (Oops_read): Code line not seen, dumping what data is available

You need to get the whole oops output...

> >>EIP; c0140754 <inode_change_ok+24/128> <=====
>Trace; d08b959c <[speedtch]udsl_usb_driver+1c/40>
>Trace; d089ea1c <[usbcore]free_inode+7c/84>
>Trace; d089f870 <[usbcore]usbdevfs_remove_device+30/d8>

Isn't that a proprietory driver you have there? Who knows what lurks in
the inner depths of that cruft, i'd ask you to reproduce it without
loading that driver, but then that would be pointless for your situation.
I suggest you take it up with Alcatel...

Regards,
Zwane Mwaikambo


2002-01-28 17:38:04

by Pierre Rousselet

[permalink] [raw]
Subject: Re: ext2 fs corruption and usb devices

Zwane Mwaikambo wrote:
>> Warning (Oops_read): Code line not seen, dumping what data is
>> available
>>
>
> You need to get the whole oops output...

Where have you seen it's an oops. have you read my message ?

>
>>>> EIP; c0140754 <inode_change_ok+24/128> <=====
>>>>
>> Trace; d08b959c <[speedtch]udsl_usb_driver+1c/40> Trace; d089ea1c
>> <[usbcore]free_inode+7c/84> Trace; d089f870
>> <[usbcore]usbdevfs_remove_device+30/d8>
>>
>
> Isn't that a proprietory driver you have there? Who knows what lurks
> in the inner depths of that cruft, i'd ask you to reproduce it
> without loading that driver, but then that would be pointless for
> your situation. I suggest you take it up with Alcatel...

Why? The problem is solved by the diff in ext2 code in 2.4.18-pre7
(have you read my message ?)

What i would like to know is why the corruption of the ext2 root fs with
2.4.18-pre6 in only visible by the usb drivers. is it pure chance ?


Pierre
--
------------------------------------------------
Pierre Rousselet <[email protected]>
------------------------------------------------

2002-01-29 06:42:33

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: ext2 fs corruption and usb devices

On Mon, 28 Jan 2002, Pierre Rousselet wrote:

> Where have you seen it's an oops. have you read my message ?

oops, i wasn't paying too much attention in that mail run it seems

> Why? The problem is solved by the diff in ext2 code in 2.4.18-pre7
> (have you read my message ?)

I got that the first time...

> What i would like to know is why the corruption of the ext2 root fs with
> 2.4.18-pre6 in only visible by the usb drivers. is it pure chance ?

But i still think proprietory modules showing up in problem traces is
usually enough to warrant the trace as useless. The fact that it works now
and not then could be anybody's guess.

My apologies for skimming through your email, Have a nice day.

Zwane Mwaikambo


2002-01-29 12:17:59

by Pierre Rousselet

[permalink] [raw]
Subject: Re: ext2 fs corruption and usb devices

Zwane Mwaikambo wrote:
> But i still think proprietory modules showing up in problem traces is
> usually enough to warrant the trace as useless. The fact that it works now
> and not then could be anybody's guess.

The kernel module is actually open-source and could even be merged in
the kernel tree. If the modem was smart it would run its own firmware
without relying on the client's machine to do it.

Q1: Are the ST USB drivers for Linux completely Open Source ?

A1: Alcatel supports the Open Source Movement, but feels it has to
protect it's Intellectual property. Therefore, The drivers are only
partially Open Source.
There is a open source kernel-module (GPL) and a closed source
management application. The management application is distributed as a
binary and contains the firmware.


Pierre
--
------------------------------------------------
Pierre Rousselet <[email protected]>
------------------------------------------------

2002-01-29 14:28:43

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: ext2 fs corruption and usb devices

On Tue, 29 Jan 2002, Pierre Rousselet wrote:

> Q1: Are the ST USB drivers for Linux completely Open Source ?
>
> A1: Alcatel supports the Open Source Movement, but feels it has to
> protect it's Intellectual property. Therefore, The drivers are only
> partially Open Source.
> There is a open source kernel-module (GPL) and a closed source
> management application. The management application is distributed as a
> binary and contains the firmware.

Thanks for clearing that up.

Regards,
Zwane Mwaikambo


2002-01-29 14:35:12

by Duncan Sands

[permalink] [raw]
Subject: Re: ext2 fs corruption and usb devices

On Tuesday 29 January 2002 1:13 pm, Pierre Rousselet wrote:
> Zwane Mwaikambo wrote:
> > But i still think proprietory modules showing up in problem traces is
> > usually enough to warrant the trace as useless. The fact that it works
> > now and not then could be anybody's guess.
>
> The kernel module is actually open-source and could even be merged in
> the kernel tree. If the modem was smart it would run its own firmware
> without relying on the client's machine to do it.
>
> Q1: Are the ST USB drivers for Linux completely Open Source ?
>
> A1: Alcatel supports the Open Source Movement, but feels it has to
> protect it's Intellectual property. Therefore, The drivers are only
> partially Open Source.
> There is a open source kernel-module (GPL) and a closed source
> management application. The management application is distributed as a
> binary and contains the firmware.

It should be possible to replace the Alcatel management application using
code from the user space speedtouch driver project
(see http://speedtouch.sourceforge.net). Of course the firmware uploaded
to the modem would still be closed source, but no closed source program
would run on the computer. Since the module is open-source (GPL) there
is no problem adding the appropriate licence symbol to it, avoiding the "tainted"
problem.

All the best, Duncan.