Re: sis190

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Message du 11/06/05 01:46
> De : "Francois Romieu" <[email protected]>
> 
> Andrew Hutchings <[email protected]> :
> [...]
> > Something went wrong on build.  Getting 'syntax error before '}' token' 
> > on every line there is _msleep(1);
> 
> I have checked it again and the patch applies and compiles correctly
> against 2.6.12-rc6. So does the updated patch of the day:
> 
> http://www.fr.zoreil.com/people/francois/misc/20050611-2.6.12-rc-sis190-test.patch

Sorry, but it does not compile correctly if you define CONFIG_SIS190_NO_DELAY.
# diff -puN /usr/src/linux/drivers/net/sis190.c sis190.c
--- /usr/src/linux/drivers/net/sis190.c 2005-06-11 09:16:41.000000000 +0200
+++ sis190.c    2005-06-11 10:20:01.000000000 +0200
@@ -43,8 +43,8 @@
 #endif

 #ifdef CONFIG_SIS190_NO_DELAY
-#define s_mdelay(d)    do { (d) } while (0)
-#define s_msleep(d)    do { (d) } while (0)
+#define s_mdelay(d)    do {  } while (0)
+#define s_msleep(d)    do {  } while (0)
 #else
 #define s_mdelay(d)    mdelay(d)
 #define s_msleep(d)    msleep(d)

So it works.

> 
> No need to use SIS190_NO_DELAY so far. The media negotiation process has
> been changed. It is now allowed to take longer to complete (it should help).
> 
> dmesg and ifconfig output will be welcome.
> 
> --
> Ueimor
> 
> 
It still do not work :
#dmesg
...
sis190 Gigabit Ethernet driver 1.2 loaded
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] -> GSI 10 (level, low) -> IRQ  10
PCI: Setting latency timer of device 0000:00:04.0 to 64
0000:00:04.0: sis190 at ffffc20000026c00 (IRQ: 10), 00:11:2f:e9:42:70
eth0: Enabling Auto-negotiation.
eth0: Link on unknown mode.
eth0: no IPv6 routers present
eth0: status = 20000008
eth0: status = 00000004
eth0: status = 20000008
eth0: status = 00000004
eth0: pad error. status = 00000000
eth0: pad error. status = 00000000
eth0: pad error. status = 00000000
eth0: pad error. status = 00000000
...

#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:2F:E9:42:70
          inet6 addr: fe80::211:2fff:fee9:4270/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:248 dropped:0 overruns:0 frame:248
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:762 (762.0 b)  TX bytes:1404 (1.3 KiB)
          Interrupt:10 Base address:0xbeef


I compared sis190_rx_interrupt() in old and new driver, and i tried :
 diff -puN /usr/src/linux/drivers/net/sis190.c sis190.c
--- /usr/src/linux/drivers/net/sis190.c 2005-06-11 09:16:41.000000000 +0200
+++ sis190.c    2005-06-11 10:20:01.000000000 +0200
@@ -478,7 +478,7 @@ static int sis190_rx_interrupt(struct ne
                rmb();
                status = le32_to_cpu(desc->PSize);

-               if (status & OWNbit)
+               if (desc->status & OWNbit)
                        break;

                if (status & RxCRC) {

new test :
# dmesg
...
sis190 Gigabit Ethernet driver 1.2 loaded
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] -> GSI 10 (level, low) -> IRQ  10
PCI: Setting latency timer of device 0000:00:04.0 to 64
0000:00:04.0: sis190 at ffffc20000026c00 (IRQ: 10), 00:11:2f:e9:42:70
eth0: Enabling Auto-negotiation.
eth0: Link on unknown mode.
eth0: no IPv6 routers present
eth0: status = 22000008
eth0: status = 00000004
eth0: status = 20000008
eth0: status = 00000004
eth0: status = 20000040
eth0: status = 20000040
eth0: status = 20000040
eth0: status = 20000040
eth0: status = 20000008
eth0: status = 00000004
...

#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:2F:E9:42:70
          inet6 addr: fe80::211:2fff:fee9:4270/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1206 (1.1 KiB)  TX bytes:1026 (1.0 KiB)
          Interrupt:10 Base address:0xbeef

As you can see, no more RX errors, but the network script failed to establish the link.

On the other box (dhcp server) :
#dmesg
...
eth2: link down
eth2: link up, 100Mbps, full-duplex, lpa 0x41E0
DHCPREQUEST for 10.169.21.20 from 00:11:2f:e9:42:70 via eth2: unknown lease 10.169.21.20.
DHCPDISCOVER from 00:11:2f:e9:42:70 via eth2
DHCPOFFER on 10.169.21.47 to 00:11:2f:e9:42:70 via eth2
DHCPDISCOVER from 00:11:2f:e9:42:70 via eth2
DHCPOFFER on 10.169.21.47 to 00:11:2f:e9:42:70 via eth2
DHCPDISCOVER from 00:11:2f:e9:42:70 via eth2
DHCPOFFER on 10.169.21.47 to 00:11:2f:e9:42:70 via eth2
...

I also tried without dhcp :
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:2F:E9:42:70
          inet addr:10.169.21.20  Bcast:10.169.23.255  Mask:255.255.252.0
          inet6 addr: fe80::211:2fff:fee9:4270/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:59 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4148 (4.0 KiB)  TX bytes:1806 (1.7 KiB)
          Interrupt:10 Base address:0xbeef

ping failed both sides, though RX and TX counters were incremented.


Regards
Pascal


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux