Hi all,
I was abit confused where to put this problem, since its only relevant to OI and therefore I put it here.
For the past weeks I was building my own NAS based on OI 151 a7. Everything was sweet, until I bumped into one horrific issue which cause the link between my NAS to my PC dropped everytime I transfer large number of files over the link (~100 GBytes).
At the beginning of the file transfer, everything was fast ~110-120 Mbyte/s speed could be achieved easily. After 10 minutes, the link speed will drop to around 80 Mbyte/s and hovering around there, then another 10 minutes the speed will drop even lower to only 30-ish Mbyte/s and it will suddenly freeze the point-to-point link. From my OI NAS, I couldnt ping my client, however I could ping localhost, all zeros subnet and broadcast subnet just fine. While on my windows client, the link was shown as on for 10 seconds, and gone for 5 seconds and return and repeats.
To bring the link up again, I have to reboot my NAS and the similar symptoms happened over and over.
After I did some research why does this problem happen, I found some interesting info about some people having similar issues with intel 82574L NIC (e1000g).
One person suggested that he updated BIOS of his motherboard and fixed the problem
while the other linux user had an update for their NIC's driver and also solved the problem.
I tried to search for the driver all over the place and couldnt find any and also I couldnt find any BIOS update for my motherboard.
On the other hand, I also have tried few attempts:
- Plugging and unplugging the cable
- Changing over 5 cables! produces same effect
- Changing to another onboard intel 82574L NIC (e1000g) on the motherboard
- Enable jumbo frame on both NAS and windows client.
- Decrease and increase the interrupt throttling rate.
- Direct memory access binding and changing the threshold size.
- Changing the MTU size from 1500 to 9216 (max value)
- Turning on/off flow control for Tx/Rx
- Forcing the NIC to be slave/master
- Turning off ACPI function for NIC
My PC and my NAS are set up in point-to-point links fashion.
NAS:
Openindiana 151 a7
ip: 192.168.2.1/30
Windows 7 client:
ip: 192.168.2.2/30
All the following commands were issued after the network came down, it is shown clearly by ipadm that the link is still 'up'!
me@server:~# dladm show-linkprop e1000g0
LINK PROPERTY PERM VALUE DEFAULT POSSIBLE
e1000g0 speed r- 1000 1000 --
e1000g0 autopush rw -- -- --
e1000g0 zone rw -- -- --
e1000g0 duplex r- full full half,full
e1000g0 state r- up up up,down
e1000g0 adv_autoneg_cap rw 1 1 1,0
e1000g0 mtu rw 1500 1500 1500-9216
e1000g0 flowctrl rw no bi no,tx,rx,bi
e1000g0 adv_10gfdx_cap r- -- 0 1,0
e1000g0 en_10gfdx_cap -- -- 0 1,0
e1000g0 adv_1000fdx_cap r- 1 0 1,0
e1000g0 en_1000fdx_cap rw 1 1 1,0
e1000g0 adv_1000hdx_cap r- 0 0 1,0
e1000g0 en_1000hdx_cap rw 0 0 1,0
e1000g0 adv_100fdx_cap r- 1 0 1,0
e1000g0 en_100fdx_cap rw 1 1 1,0
e1000g0 adv_100hdx_cap r- 1 0 1,0
e1000g0 en_100hdx_cap rw 1 1 1,0
e1000g0 adv_10fdx_cap r- 1 0 1,0
e1000g0 en_10fdx_cap rw 1 1 1,0
e1000g0 adv_10hdx_cap r- 1 0 1,0
e1000g0 en_10hdx_cap rw 1 1 1,0
e1000g0 maxbw rw -- -- --
e1000g0 cpus rw -- -- --
e1000g0 cpus-effective r- 0,5-7 -- --
e1000g0 pool rw -- -- --
e1000g0 pool-effective r- -- -- --
e1000g0 priority rw high high low,medium,high
e1000g0 tagmode rw vlanonly vlanonly normal,vlanonly
e1000g0 forward rw 1 1 1,0
e1000g0 default_tag rw 1 1 --
e1000g0 learn_limit rw 1000 1000 --
e1000g0 learn_decay rw 200 200 --
e1000g0 stp rw 1 1 1,0
e1000g0 stp_priority rw 128 128 --
e1000g0 stp_cost rw auto auto --
e1000g0 stp_edge rw 1 1 1,0
e1000g0 stp_p2p rw auto auto true,false,auto
e1000g0 stp_mcheck rw 0 0 1,0
e1000g0 protection rw -- -- mac-nospoof,
restricted,
ip-nospoof,
dhcp-nospoof
e1000g0 allowed-ips rw -- -- --
e1000g0 allowed-dhcp-cids rw -- -- --
e1000g0 rxrings rw -- -- --
e1000g0 rxrings-effective r- 1 -- --
e1000g0 txrings rw -- -- --
e1000g0 txrings-effective r- -- -- --
e1000g0 txrings-available r- 0 -- --
e1000g0 rxrings-available r- 0 -- --
e1000g0 rxhwclnt-available r- 0 -- --
e1000g0 txhwclnt-available r- 0 -- --
my@server:~# dladm show-ether
LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE
e1000g0 current up yes 1G-f none
my@server:~# ipadm show-if
IFNAME STATE CURRENT PERSISTENT
lo0 ok -m-v------46 ---
e1000g0 ok bm--------46 -46
my@server:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
e1000g0/v4 static ok 192.168.2.1/30
lo0/v6 static ok ::1/128
All help will be appreciated, really desperate about this problem, it has been bugging me for days.
Regards
enno