All of lore.kernel.org
 help / color / mirror / Atom feed
* staging/et131x Driver Transmits but does not Receive Packets
@ 2010-01-10 19:56 Daniel Goller
  2010-01-11  0:17 ` Alan Cox
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Goller @ 2010-01-10 19:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alan Cox

It appears my ExpressCard Agere ET1310 card only transmits packets,
but does not receive any (judging from ifconfig packets count) in
2.6.32 and 2.6.33-rc3
Also tried 2.6.33-rc3 +
http://groups.google.com/group/linux_net/browse_thread/thread/36f0de5cc892725c/1d035bb4d226bacb?hl=en&ie=UTF-8&q=et131x+driver&pli=1&utoken=mSdKfCwAAADhR9R3JyQi7ME1XTLwaumjm9dTbXW7Az9NzQHB8rbcH-jP5nHNOycE-bB2x7qoLGA
(First time ever i do not get both link lights indicating 1000mbps,
nor does it show up in lcpsi anymore, dmesg is quiet, staging warning
aside)

On those kernel i get link lights and lspci info:
I can not ping other machines or the router in the network.
(Destination host unreachable)
Once in a while, randomly, i can however receive a IP via dhcp, this
is however far too random to reproduce.
Based on threads i found between Nick Bowles and Alan Cox about Nick's
PCI-e Agere MET1310 i also tried 2.6.31 where the RX Packets count
goes up, but i am still not able to ping any machine or the router.
Pinging it's own IP, i do get a result on any of the three kernels. (I
have never had to troubleshoot a network driver before, so i am not
sure if this is "a good thing")

Here some technical things:

Linux heracles 2.6.33-rc3 #2 SMP PREEMPT Sun Jan 10 12:21:39 CST 2010
x86_64 Intel(R) Core(TM)2 Duo CPU P7350 @ 2.00GHz GenuineIntel
GNU/Linux

My (Expresscard)  (Syba SD-EXPC34-1GL):

Module not loaded:

06:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet
Controller (rev 02)
        Subsystem: Agere Systems ET-131x PCI-E Ethernet Controller
        Physical Slot: 1
        Flags: fast devsel, IRQ 16
        Memory at d3600000 (64-bit, non-prefetchable) [size=2M]
        [virtual] Expansion ROM at d2500000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
        Capabilities: [48] Express Endpoint, MSI 00
        Capabilities: [5c] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [130] Virtual Channel <?>
        Capabilities: [14c] Device Serial Number 02-13-3b-ff-fe-03-02-20
        Kernel modules: et131x

Module loaded:

06:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet
Controller (rev 02)
        Subsystem: Agere Systems ET-131x PCI-E Ethernet Controller
        Physical Slot: 1
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at d3600000 (64-bit, non-prefetchable) [size=2M]
        [virtual] Expansion ROM at d2500000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
        Capabilities: [48] Express Endpoint, MSI 00
        Capabilities: [5c] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [130] Virtual Channel <?>
        Capabilities: [14c] Device Serial Number 02-13-3b-ff-fe-03-02-20
        Kernel driver in use: et131x
        Kernel modules: et131x

Nick Bowles (working PCI-e) ( Syba SD-PEX-GLAN 10/100/1000 Gigabit LAN
Network Card Agere MET1310
  Chipset PCI-E):

02:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet
Controller (rev 02)
        Subsystem: Agere Systems ET-131x PCI-E Ethernet Controller
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at fd400000 (64-bit, non-prefetchable) [size=2M]
        Expansion ROM at fd7e0000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
        Capabilities: [48] Express Endpoint, MSI 00
        Capabilities: [5c] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [130] Virtual Channel <?>
        Capabilities: [14c] Device Serial Number 02-13-3b-ff-fe-03-29-d9
        Kernel driver in use: et131x
        Kernel modules: et131x

my lspci short list: (To give some idea what laptop this is used in)

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory
Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series
Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset
Integrated Graphics Controller (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB
UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB
UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2
EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio
Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 2 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB
UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB
UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB
UHCI Controller #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801I (ICH9 Family) USB
UHCI Controller #6 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2
EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI
Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
03:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
06:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet
Controller (rev 02)

To rmmod r8169 and iwlagn does not affect the ability to use et131x in
this system.

I will gladly provide any further info you require to look into this.

Thank you in advance for your time,

Daniel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: staging/et131x Driver Transmits but does not Receive Packets
  2010-01-10 19:56 staging/et131x Driver Transmits but does not Receive Packets Daniel Goller
@ 2010-01-11  0:17 ` Alan Cox
  2010-01-11  1:30   ` Daniel Goller
  0 siblings, 1 reply; 7+ messages in thread
From: Alan Cox @ 2010-01-11  0:17 UTC (permalink / raw)
  To: Daniel Goller; +Cc: linux-kernel, Alan Cox

> I will gladly provide any further info you require to look into this.
> 
> Thank you in advance for your time,

There are a huge series of small patches applied to the driver so the
first step to finding which one broke your card is to find which release
or rc it breaks upon and then to narrow down to which patch.

The easiest way if you don't mind a lot of building is to use the git
tree and git bisect.

The basic idea is to pull a kernel git tree (so that it has all the
patches and meta data) then do

git-bisect reset		# Starting a new bisect
git-bisect start
git-bisect good v2.6.31-rc1	# Or whatever you know worked (later
				# the better)

git-bisect bad v2.6.32-rc3	# Earliest you know is broken (or miss
				# version for 'current')


It'll then generate a tree half way between the two

Then build a kernel and test it. If it works

git-bisect good

If not 

git-bisect bad

and it'll pick another spot half way between the two until it pins down
the offender.

If you get one that won't build/fails for some other reason you can 
git-bisect skip

to bump on one

It'll quite rapidly pin down the offending change if you've got a
repeatable bug.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: staging/et131x Driver Transmits but does not Receive Packets
  2010-01-11  0:17 ` Alan Cox
@ 2010-01-11  1:30   ` Daniel Goller
  2010-01-11  4:40     ` Daniel Goller
  2010-01-11 10:19     ` Alan Cox
  0 siblings, 2 replies; 7+ messages in thread
From: Daniel Goller @ 2010-01-11  1:30 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alan Cox

I can not claim this is a regression (for myself), i just purchased
the Device late December, when i found Nick  Bowles' report of a
regression (for him, it is)
None of the kernel versions he reports working for him have worked for
me. (.31 and .32)
So i wouldn't quite know where to start.
He said it has been working since 2.6.29 (for him), i could go this
far back and see if 2.6.29 or 2.6.30 build and work for me, should i
be able to use it with either, i could go forward until it no longer
works and report that.

Is there anything that could be considered until then, based on the
fact that he has a desktop PCI-e card while i have a laptop 34mm
ExpressCard?

Thanks,

Daniel

Going to get 2.6.29 and 2.6.30 now.
On Sun, Jan 10, 2010 at 6:17 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>> I will gladly provide any further info you require to look into this.
>>
>> Thank you in advance for your time,
>
> There are a huge series of small patches applied to the driver so the
> first step to finding which one broke your card is to find which release
> or rc it breaks upon and then to narrow down to which patch.
>
> The easiest way if you don't mind a lot of building is to use the git
> tree and git bisect.
>
> The basic idea is to pull a kernel git tree (so that it has all the
> patches and meta data) then do
>
> git-bisect reset                # Starting a new bisect
> git-bisect start
> git-bisect good v2.6.31-rc1     # Or whatever you know worked (later
>                                # the better)
>
> git-bisect bad v2.6.32-rc3      # Earliest you know is broken (or miss
>                                # version for 'current')
>
>
> It'll then generate a tree half way between the two
>
> Then build a kernel and test it. If it works
>
> git-bisect good
>
> If not
>
> git-bisect bad
>
> and it'll pick another spot half way between the two until it pins down
> the offender.
>
> If you get one that won't build/fails for some other reason you can
> git-bisect skip
>
> to bump on one
>
> It'll quite rapidly pin down the offending change if you've got a
> repeatable bug.
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: staging/et131x Driver Transmits but does not Receive Packets
  2010-01-11  1:30   ` Daniel Goller
@ 2010-01-11  4:40     ` Daniel Goller
  2010-01-11 10:26       ` Alan Cox
  2010-01-11 10:19     ` Alan Cox
  1 sibling, 1 reply; 7+ messages in thread
From: Daniel Goller @ 2010-01-11  4:40 UTC (permalink / raw)
  To: linux-kernel; +Cc: alan

>
> Going to get 2.6.29 and 2.6.30 now.

This is going to be a lot of fun...

2.6.29.6 did nothing, but TX Packets count ever so slightly
increasing, all attempts ended in a "Destination host unreachable"
2.6.30.10 actually allowed me to ping another host in the network,
(the restarted by kde) xchat meanwhile reconnected to the znc instance
on the host i was pinging.
I got replies to pings 4, 13 and all else was lost by the time i
pinged the host.

I then blacklisted iwlagn and r8169 and rebooted, retrying 2.6.29.6
and 2.6.30.10 but was no longer able to ping anything. So when it
works and when not is still intermittent. (And the only interfaces up
were eth1 and lo, not eth0 (r8169) or wlan0 (iwlagn) in case someone
wonders)

2.6.29.6 and 2.6.30.10 would allow me to modprobe et131x with
additional debugging info, if you let me know what debug level you
need and what i should be trying on the interface to produce useful
info.

[ 1386.009039] et131x.ko:WARNING:et131x_ioctl Unhandled IOCTL Code: 0x8b27
[ 1386.009859] et131x.ko:WARNING:et131x_ioctl Unhandled IOCTL Code: 0x8b14
[ 1386.010994] et131x.ko:WARNING:et131x_ioctl Unhandled IOCTL Code: 0x8b1a
[ 1386.011943] et131x.ko:WARNING:et131x_ioctl Unhandled IOCTL Code: 0x8b26

I see this repeating a few times now in 2.6.30.6

The one time i did get a reply on my pings and xchat, was just after
trying to switch network cables around. But i have not been able to
reproduce anything in subsequent attempts of replugging/restarting the
interface.

I do not think i am yet at a point where git bisect would be useful.


Thanks,

Daniel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: staging/et131x Driver Transmits but does not Receive Packets
  2010-01-11  1:30   ` Daniel Goller
  2010-01-11  4:40     ` Daniel Goller
@ 2010-01-11 10:19     ` Alan Cox
  1 sibling, 0 replies; 7+ messages in thread
From: Alan Cox @ 2010-01-11 10:19 UTC (permalink / raw)
  To: Daniel Goller; +Cc: linux-kernel

> He said it has been working since 2.6.29 (for him), i could go this
> far back and see if 2.6.29 or 2.6.30 build and work for me, should i
> be able to use it with either, i could go forward until it no longer
> works and report that.

It would be interesting to know if 2.6.29 works.

> Is there anything that could be considered until then, based on the
> fact that he has a desktop PCI-e card while i have a laptop 34mm
> ExpressCard?

As I understand it they ought to behave the same - the supplied driver
has no special cases between the two.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: staging/et131x Driver Transmits but does not Receive Packets
  2010-01-11  4:40     ` Daniel Goller
@ 2010-01-11 10:26       ` Alan Cox
  2010-01-11 16:58         ` Daniel Goller
  0 siblings, 1 reply; 7+ messages in thread
From: Alan Cox @ 2010-01-11 10:26 UTC (permalink / raw)
  To: Daniel Goller; +Cc: linux-kernel

> I then blacklisted iwlagn and r8169 and rebooted, retrying 2.6.29.6
> and 2.6.30.10 but was no longer able to ping anything. So when it
> works and when not is still intermittent. (And the only interfaces up
> were eth1 and lo, not eth0 (r8169) or wlan0 (iwlagn) in case someone
> wonders)

That looks like an interrupt problem. With iwlagn and r8169 blacklisted
see what interrupt number the et131x gets (cat /proc/interrupts) and see
if it goes up whenever you send/receive stuff.

If not then I don't think its an et131x problem but an IRQ routing
problem (eg a bad BIOS table, or a kernel bug elsewhere)

> I do not think i am yet at a point where git bisect would be useful.

Agreed.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: staging/et131x Driver Transmits but does not Receive Packets
  2010-01-11 10:26       ` Alan Cox
@ 2010-01-11 16:58         ` Daniel Goller
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Goller @ 2010-01-11 16:58 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel

> That looks like an interrupt problem. With iwlagn and r8169 blacklisted
> see what interrupt number the et131x gets (cat /proc/interrupts) and see
> if it goes up whenever you send/receive stuff.

16:        385        385   IO-APIC-fasteoi   uhci_hcd:usb3, uhci_hcd:usb7, eth1
 it does change as i bring it up with IP and: ping -I eth1 192.168.1.156

This is in 2.6.30.10

You say it would be interesting to see if the driver works in
2.6.29(".0") or just 2.6.29.x in general?

So far i only tried it in 2.6.29.6, and will check interrupts there in
a little while.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-01-11 16:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-10 19:56 staging/et131x Driver Transmits but does not Receive Packets Daniel Goller
2010-01-11  0:17 ` Alan Cox
2010-01-11  1:30   ` Daniel Goller
2010-01-11  4:40     ` Daniel Goller
2010-01-11 10:26       ` Alan Cox
2010-01-11 16:58         ` Daniel Goller
2010-01-11 10:19     ` Alan Cox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.