vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| SUMMARY: RedHat Linux Enterprise WS network lan dhcp startup scripts problem. The bootup rc script reports: "failed; no link present. Check cable?" But if I plug the same cable into a mac or windows pc, then it works fine. I know the cable and network are good. What's more, this behavior is the same on two brand new dell / redhat systems. So I don't think its a bad card. Solution: First, many people told me that dhclient did not work for them, so I downloaded the 'pump' RPM to replace dhclient, and edited the the ifup script to try pump first, before dhclient. Then "ifup eth0" would work from the command line after boot, but still would not work during boot. I think there is a bug in one of the rc scripts. Detail below, but the fix was simply to edit the file: /etc/sysconfig/network-scripts/ifup and comment out these lines, beginning around line 240: # echo # echo -n $"Determining IP information for ${DEVICE}..." # if check_link_down ${DEVICE}; then # echo $" failed; no link present. Check cable?" # ip link set dev ${DEVICE} down >/dev/null 2>&1 # exit 1 # fi After commenting out, I reboot, and all worked fine. DETAIL: When booting, the network rc script calls the ifup script. It fails with the message above. But, after it boots, if I go to a terminal, su to root, and do a "ifup eth0", then it works fine. But I did not want to have to do this every time I booted. I wanted to fix the rc scripts. So I investigated this... On boot, /etc/rc.d/* will call the script with param: "init.d/network start" This will call the script "/etc/sysconfig/network-scripts/ifup eth0" That sources the support file "/etc/sysconfig/network-scripts/network-functions" which has a function in it called check_link_down Now, ifup calls check_link_down, which loops for 5 seconds, and checks every 1/2 second for good values. Good values are a "Link detected: yes" from ethtool, and "link ok" from mii-tool. Both of these tools just check the very low level status of the interface. I looks like check_link_down fails if the link is UP instead of down. That seems backwards to me. Maybe it previously set it down, and it is waiting for it to go down. I don't know. I just know this Dell / RedHat combo did not work with it. The above simple edit fixes it. Hope this helps someone! |
| Thread Tools | |
| Display Modes | |
|
|