suspect bug in vge(4)

Thomas Lotterer thomas+freebsd at lotterer.net
Fri Jun 12 20:30:36 UTC 2009


Pyun YongHyeon wrote:
> On Thu, Jun 11, 2009 at 05:39:03PM +0200, Thomas Lotterer wrote:
>> Pyun YongHyeon wrote:
>>> Could you show me dmesg output(only vge(4) related one)? 
>>>
>> # dmesg | grep vge
>> vge0: <VIA Networking Gigabit Ethernet> port 0xec00-0xecff mem 
>> 0xdf7ff000-0xdf7ff0ff irq 28 at device 0.0 on pci2
>> vge0: MSIX count : 0
>> vge0: MSI count : 1
> 
> I wonder why "Using 1 MSI messages" message is missing.
> 
Never seen that message. Maybe more verbose/debug needed?

OK, next round. Here are today's findings. I switched from statically 
linked to dynamically loaded drivers to accelerate the build+test 
process. Finally, the results with both vge(4) drivers dynamically 
loaded and statically linked were the same.

The good news is that the "yongari" driver actually works in one of 
three or four cases. The situation with the driver when auto detecting 
GigE is as already described:

>> # ifconfig vge0
>> vge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>> options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
>>         ether 00:40:63:xx:xx:xx
>>         inet [...]
>>         media: Ethernet autoselect (1000baseT <full-duplex,flag0,flag1>)
>>         status: active
>>
>> Unfortunately, no traffic could be sent and tcpdump(1) does not show any 
>> incoming packages either, not even broadcasts.

However, sometimes the driver (incorrectly) auto selects 100BaseTX

         media: Ethernet autoselect (100baseTX <full-duplex,flag0,flag1>)

in which case it works well. I was able to copy 1500MB of data from the 
server and back in three parallel running CIFS connections. The 
"original problem" driver always broke upload before 100MB barrier.

>> Interesting side effect is that after that test the kernel with my 
>> previous "original problem" vge(4) driver rebooted when initializing the 
>> network card. No logs at this stage, sorry. Reboot did not help. Hard 
>> reset did not help. Power cycle did help. Behavior was reproducible on a 
>> second attempt.

My experience after countless reboots is that both drivers always show 
this problem after the "yongari" driver was loaded previously. However, 
enabling "boot from VIA Ethernet" in BIOS has been found to be a better 
and more reliable workaround than power cycling. Not that I want to boot 
from the network, it just seems the BIOS is resetting the NIC properly.

Also I was able to capture the error log from the screen:

vge0: <VIA Networking Gigabit Ethernet> port 0xec00-0xecff mem 
0xdf7ff000-0xdf7ff0ff irg 11 at device 0.0 on pci2
vge0: MII read timed out
vge0: failed to start MII autopoll
vge0: MII without any phy!
panic: Assertion mtx_unowned(m) failed at /usr/src/sys/kern/kern_mutex.c:827
Uptime: 1s
Automatic reboot in 15 seconds - press a key on the console to abort
Rebooting ...

-- 
http://thomas.lotterer.net


More information about the freebsd-current mailing list