#420 b3 will not initiate multiple LAN interfaces

open
nobody
Interface (97)
5
2012-10-28
2008-09-15
Tony Henrie
No

I was running 0.69b2.3631 using two Intel Gigabit LANs simultaneously with no problems, except that one interface (em1) sat essentially idle. I upgraded to 0.69b3.3778 for the LAGG interface. I had trouble setting up the LAGG, but finally got it up. I found it will not successfully initiate when polling is enabled on either or both interfaces.

However I recently discovered that the LAGG interface will not survive a reboot. In working with the problem, I find b3.3778 will not initiate an interface if more than one interface is connected at boot.

If two interfaces are connected at boot, both show on the console as "UP". When I select "1) Assign Interfaces", both (em0, em1) show as "UP". I can select em0 as LAN and em1 as Opt1, but when I click "OK" FN tries to initiated the interfaces without allowing me to set them up first. There is no error message at this point, but the interfaces do not successfully initiate. FN does not lock up and the console options still function.

When I select "2) Set LAN IP addresses", the following error messages come up:

Warning: require_once (interfaces.inc): failed to open stream: No such file or directory in /etc/rc.initial.setlanip on line 39

Fatal error: require_once (): Failed opening required 'interfaces.inc' (include_path='.:/etc/inc:/usr/local/www') in /etc/rc.initial.setlanip on line 39

The same happens when Lagg is configured in the webgui and then rebooted. All three show on the console as em0, em1, lagg0, but when I try to "Asssign interfaces" or "Set LAN IP addresses" I get the same errors.

Once this happens no interface will initiate even after a reboot.

If I select "4) Reset to factory defaults" and reboot with only one interface connected, it will come up as em0 and initiate automatically and show the NAS webgui address as 192.168.1.250. However, if I restore my settings and reboot again, the same problem reoccurs.

Previous versions would not automatically initiate an interface. One had to manually assign the interfaces and then set the LAN IP addresses for each, then initiate. No http network connection was available until after the manual setup was done. FN would initiate multiple NICs this way. Under b3, apparently initiation of the interface is set in the boot process, so that one automatically comes up with a webgui connection, however it will not initiate multiple interfaces and will not initiate a LAGG interface.

My setup:
FreeNAS version: 0.69b3.3778 Full
Mainboard: Super Micro P4SCE
CPU: P4 2.8GHz 1mb L-2 cache/800 FSB
RAM: 2mb PC3200 400MHz D
Lan: Dual Intel® 82541 Gigabit Ethernet
Supports 10BASE-T, 100BASE-TX, and 1000BASE-T, RJ45 output
HDD configuration: 1 X 80GB WD IDE (System + Data partition)
4 X 500GB WD SATA 300 on a HighPoint RocketRAID 1740 PCI-SATA 300 card (RAID 5)

Thanks for all your hard work.

Tony Henrie
tthenrie@yahoo.com

Discussion

  • Henry the Mild Mannered Janitor

    Not sure if this is related. I'm experiencing a problem running Freenas 69b3 i386 on a no-name computer (sorry, can't get the specs right now, but will add them later).

    Basically after the initial manual setup, the IP address is set correctly as a static ip
    (10.1.2.10 netmask 255.255.255.0 gw 10.1.2.1)
    and FreeNas works. After a reboot, the light on the hub comes on, but the interface does not come up correctly. To get the interface to come up, I have to go through 1) Interface assignment and 2) IP address setup on the console menu.

    Let me know what information I can provide to give you more help here, particularly commands I can type in the console. I'm used to getting hardware and config information in Linux, but this stripped down version of BSD is a little different!

     
  • Rob Umberger

    Rob Umberger - 2009-05-18

    I ran into the same issue where the lagg interface configuration would not survive a reboot. I checked /etc/rc.conf and saw that "-wakeon" was set for the lagg0 interface. Since my lagg interface does not support wake events, this invalid setting was causing the initial setup of the lagg interface to fail. I checked my configuration file and sure enough, a <wakeon> node was listed under the //interfaces/lan node. I removed this node, saved the file, and rebooted. My lagg configuration works fine now.

    Here's the interesting part and probably indicates a bug:
    Since my lagg interface does not support wake events, the web GUI does not allow me to set it. Before I started using lagg, my old NIC did support wake events. Based on looking through the code (interfaces_lan.php & interfaces_opt.php), it seems that since the configuration file had the <wakeon> node set previously, no cleanup is made of the $lancfg array to ensure that only values that have been set are written out to the configuration file when write_config() is called.

    A quick fix for this is to modify both of these scripts and change the following:


    if (!empty($ifinfo['wolevents']))
    $lancfg['wakeon'] = $_POST['wakeon'];

    write_config();

    to


    if (!empty($ifinfo['wolevents']))
    $lancfg['wakeon'] = $_POST['wakeon'];
    else
    unset($lancfg['wakeon']);

    write_config();

    For a "tidy" configuration file, there are several other places that same type of checking can be done in those 2 files, but this is the killer for my setup. I haven't checked to see if the same type of check could be used to tidy up other parts of the configuration file, but I imagine that there are.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks