Files:
release build
debug build
src (xcode 2.2.1 project).
coded and tested under 10.4.3.
1. Install:
I suggest you install this driver by hand.
Usually, you may use the shell script named loadvia inside the tar ball
to load this driver. The script assume you has sudo privilege.
If you have logged in as root or su to root, I think you know what to
do.
Install the driver by this way is safe, if the driver crashed or
stalled, just reset, system will reboot without loading this driver.
But if you are tired to setup network after every reboot, you may
insert the driver into system, by this way:
mv or cp the ViaRhine.kext to /System/Library/Extensions
adjust file attributes as:
sudo chown -R root:wheel ViaRhine.kext
sudo find ViaRhine.kext -type d -exec chmod 0755 {} \;
sudo find ViaRhine.kext -type f -exec chmod 0644 {} \;
After reboot, the driver will be loaded.
Thanks mechdrew, you make me understand, you guys trust the driver so
much to crash the whole system.
2. Config network:
"sudo ifconfig en0 up" to enable the NIC. You need wait for some
seconds to let the driver finish link media auto negotiation.
You may use sudo ifconfig en0 inet 192.168.2.1 netmask
255.255.255.255.0 up to assign an ip or use graphics tool at System
Preference | network | built-in ethernet to fill all attributes.
I encourage you to use graphics tool at System Preferences | network |
built-in ethernet | ethernet to adjust ethernet parameters to crash the
driver if you have installed the driver by hand.
3.ADSL Dial-up:
If you are adsl subscriber like me, you will need take a look at the
PPPoE tab of network preference. I suggest you to check "Show PPPoE
status in menu bar" so that you may control the adsl connection by the
icon in the menu bar. It is more easy than Finder | Application |
Internet Connection.
4. NAT Gateway:
If you need share the internet connection with other computer inside
the LAN, you will setup the mac as NAT gateway.
It is a easy task, System Preferences | sharing | internet, check the
built-in ethernet and click start button.
After shared, the ip of the en0 will be forced to 192.168.2.1. It is
not a good idea, but it is not a easy task to struggle with ipfw and
natd.
2006-4-11
early debug build
2006-4-12
debug and release build, stall after working for unsure minutes
2006-4-13
increased the rx/tx ring, disabled kernel debugger support, change the way to access MII Management Data.
2006-4-14
stress tested, upload 2.2G data by sftp, keep online for whole night.
2006-4-14
fix promiscuous mode, not the driver may work with tcpdump. fix tx queue stall problem, the tx ring shrink to 16 descriptor and stressed well.
comments:
( promiscuous mode : caused by write 32 bits to RxConfig register but its is a 8 bits register. )
( tx queue stall : tx queue will stall when it feel over stressed, this queue may back to work after chip sent enough packets to free the tx descriptor ring. Privious version forget to re-start the stalled queue when the tx descriptor ring has enough space. )
2006-4-15
adjust tx/rx ring as 128 descriptor, now the transmit queue will not stall-resume often.
2006-4-16
fix reconnect bug. ifconfig down and then up, the en may work now.
2006-4-18
reconnect bug is real fixed. Last fix has 1/128 chance to work, but when I test, it just worked, LUCKY?
2006-4-21
add some model specific pci config init.
2006-6-01
adjust auto negotiation for Rhine III, but I have no this kind of card, so it maybe work, maybe not.