Bug 12090

Summary: Network card SIS190/191 on Asus F50SL doesn't work
Product: Drivers Reporter: Rychlik Henryk (xhakerek)
Component: NetworkAssignee: Francois Romieu (romieu)
Status: RESOLVED OBSOLETE    
Severity: normal CC: alan, allodi, e.burema, gergo.nemeth, pmate, sergio, valentino.dellaica, xhakerek
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.27.6 Subsystem:
Regression: No Bisected commit-id:
Attachments: Patch to identify chipset

Description Rychlik Henryk 2008-11-23 12:35:28 UTC
Latest working kernel version:none
Earliest failing kernel version:
Distribution: Gentoo
Hardware Environment:Asus f50sl with sis chipset
Software Environment:
Problem Description:There is a problem with SIS 190/191 gigabit ethernet driver on asus f50sl with this network card and sis chipset. With default gentoo kernel 2.6.25-gentoo-r3 card sends and receive packets but only google is working, on any another kernel I've checked situation is the same byt even google isn't working. After modprobe sis190 tells that cannot read eprom data and unknown PHY device. If this is important I can paste this message here when my roommate will came. Kernel patch from Ubuntu forum with added Atheros PHY to sis190.c doesn't solve the problem.

Steps to reproduce:
Comment 1 Giuseppe Allodi 2009-02-12 07:58:51 UTC
(In reply to comment #0)
> Latest working kernel version:none
> Earliest failing kernel version:
> Distribution: Gentoo
> Hardware Environment:Asus f50sl with sis chipset
> Software Environment:
> Problem Description:There is a problem with SIS 190/191 gigabit ethernet
> driver
> on asus f50sl with this network card and sis chipset. With default gentoo
> kernel 2.6.25-gentoo-r3 card sends and receive packets but only google is
> working, on any another kernel I've checked situation is the same byt even
> google isn't working. After modprobe sis190 tells that cannot read eprom data
> and unknown PHY device. If this is important I can paste this message here
> when
> my roommate will came. Kernel patch from Ubuntu forum with added Atheros PHY
> to
> sis190.c doesn't solve the problem.
> 
> Steps to reproduce:
> 

This seems quite the same trouble as with the Sis 191 NIC on my ASUS F5SL laptop (F5SL == F50SL?).  The device is successfully probed and ifconfigured, and successfully establishes a connection, but it then stalls during data transfer. This typically happens at the very beginning, for instance, just after ssh login and a 'ls' command to the remote machine.
However, malfunction is intermittent and the device may occasionally work: when this happened I was even able to install a full Fedora system from the network.

OS is linux 2.6.27-5 i386 (Fedora 10); the problem persists with 2.6.27-11 (ubuntu 8.10) as well as with recompiling sis190.c and mii.c drivers taken from the latest  official kernel tree (linux-2.6.28.4, last revision dating to 6th February 2009). Relevant kernel messages are listed below:


Feb 12 12:49:54 localhost kernel: sis190 Gigabit Ethernet driver 1.2 loaded.
Feb 12 12:49:54 localhost kernel: sis190 0000:00:04.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 12 12:49:54 localhost kernel: 0000:00:04.0: Read MAC address from EEPROM
Feb 12 12:49:54 localhost kernel: 0000:00:04.0: Error EEPROM read 0.
Feb 12 12:49:54 localhost kernel: 0000:00:04.0: Read MAC address from APC.
Feb 12 12:49:54 localhost kernel: 0000:00:04.0: Unknown PHY transceiver at address 1.
Feb 12 12:49:54 localhost kernel: 0000:00:04.0: Using transceiver at address 1 as default.
Feb 12 12:49:54 localhost kernel: 0000:00:04.0: SiS 191 PCI Gigabit Ethernet adapter at f887cc00 (IRQ: 19), 00:23:54:58:c2:42
Feb 12 12:49:54 localhost kernel: eth0: RGMII mode.
Feb 12 12:49:54 localhost kernel: eth0: Enabling Auto-negotiation.
Feb 12 12:49:58 localhost kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready
Feb 12 12:49:58 localhost kernel: eth0: mii ext = 0000.
Feb 12 12:49:58 localhost kernel: eth0: mii lpa = 41e1 adv = 01e1.
Feb 12 12:49:58 localhost kernel: eth0: link on 100 Mbps Full Duplex mode.
Feb 12 12:49:58 localhost kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

As far as I can understood, the clue is "Unknown PHY transceiver".
Comment 2 Paolo Alberti 2009-04-05 23:37:25 UTC
Exactly the same trouble with Linux 2.6.29-1 AMD64 on GNU/Linux Debian Sid.
Instead with Linux 2.6.29-1 i386 it works setting mtu=1492
Comment 3 Gergely Nemeth 2009-04-07 19:40:40 UTC
I've got the same problem with Ubuntu 9.04 beta, alpha5, alpha6 amd64 kernels, but if I use i386 kernel everything works fine..

I've already tried with System Rescue CD, but I've got the same result. If I use the amd64 kernel I haven't got network communication but if I boot with X86 kernel the network will going to work without problem.

I've got Asus laptop with F5SL motherboard.

Please repair this ASAP.. I would like to use Linux instead of Microsoft products :D
Comment 4 Sérgio M Basto 2009-04-14 15:50:13 UTC
this is duplicated of http://bugzilla.kernel.org/show_bug.cgi?id=11509 ?
Comment 5 Gergely Nemeth 2009-04-14 17:07:55 UTC
It seems to be. Same NIC on this motherboards too.

I found something interest on Ubuntu Buglaunch site:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/341444
Comment 6 Erwin Burema 2009-05-06 15:21:51 UTC
I have an asus x59sl here using an amd64 kernel (fedora 10 and 11 preview), the sis190 is only working correctly when using 3GB of the 4GB of available memory (kernel command line mem=3G also using iommu=off but not sure if that makes a difference).
Comment 7 Paolo Alberti 2009-05-16 23:04:50 UTC
This bug report was opened on 23 november 2008 and it was assigned to Mr. Francois Romieu.
Today, almost 6 months have passed but Mr. Romieu didn't say a word.
I am not talking about solving the problem, but about confirming that he is paying attention to the requests.
Something.
All this is very kind from him.
Thanks for your attention, monsieur...
Comment 8 Sérgio M Basto 2009-07-27 23:24:53 UTC
from bug http://bugzilla.kernel.org/show_bug.cgi?id=11509 we have some new news.



--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -539,8 +539,8 @@ static bool sis190_try_rx_copy(struct sis190_private *tp,
        if (!skb)
                goto out;

-       pci_dma_sync_single_for_device(tp->pci_dev, addr, pkt_size,
-                                      PCI_DMA_FROMDEVICE);
+       pci_dma_sync_single_for_cpu(tp->pci_dev, addr, tp->rx_buf_sz,
+                               PCI_DMA_FROMDEVICE);
        skb_reserve(skb, 2);
        skb_copy_to_linear_data(skb, sk_buff[0]->data, pkt_size);
        *sk_buff = skb;

So guys let me know if it works
Comment 9 Dell'Aica Valentino 2009-11-21 12:13:03 UTC
I've created a patch that work on my Asus F50SV laptop, the connection work only on 100Mbs but changing parameters might work on 1Gbs. btw I set on my connection manager mtu = 1492 for my interface.
Comment 10 Dell'Aica Valentino 2009-11-21 12:14:09 UTC
Created attachment 23853 [details]
Patch to identify chipset
Comment 11 Alan 2012-10-30 15:17:31 UTC
If this is still seen on modern kernels then please re-open/update
Comment 12 Sérgio M Basto 2012-10-30 16:03:23 UTC
it more fixed , than OBOSLETE