1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. If you had a PIAF Forum account in the vBulletin days, log in with your old credentials. Otherwise, sign up again and we'll get you back in business as soon as we can.
  3. A serious FreePBX vulnerability has been reported. Update your Framework Module immediately. Click here for details.

Atl1c NIC Blues No More

Discussion in 'Bug Reporting and Fixes' started by silly, Feb 4, 2012.

  1. Hyksos Guru

    Hey! Un Québécois Tabarn**! ;)

    I can replicate/emulate your problem by basically breaking all css and images file on the apache.

    I found a bunch of stuff on the internet including this:

    Hello,
    As far as I can tell it there is the bug occuring when combination of
    sendfile(2) and module atl1c is used. The result of the bug is data
    corruption. Examples of data corruption are in attached files:
    - orig.txt - the original file, output of command
    seq 1 600 | xargs printf '%04d\n'
    - apache.dat - result of wget http://the.server/orig.txt -O apache.dat
    - sendfile.dat - file sent from the same server using attached program
    and netcat

    The mentioned server has a multiple interfaces and this problem appears
    only on Atheros interface. After spotting the problem on Apache first
    I finally nailed it to sendfile function. The problem appears only for files
    longer than some specific value. For Apache it was 2600 bytes (I suppose it's
    because of headers added by webserver). For my test program the minimal size
    of file where the problem appears is 2896 bytes.

    I also found a similar problem on Ubuntu:
    https://bugs.launchpad.net/ubuntu/ source/slide-webdavclient/ bug/651004
    The common factor is Atheros AR8131.
  2. Hyksos Guru

    Maybe an updated driver or kernel or both could solve it, I read it too but will leave that in your hands.

    And BTW in retrospect in means that posting full details of your system when asking a question, even if you think it has no possibility of being a factor IS key.

    If you guys would have posted a description of your hardware it would have been easier to conclude you had a nic in common and google would have immediatly confirmed it was the culprit.

    ALWAYS post a complete resume of your install and your system even if it sounds silly!

    And no hard feelings because you didn't, I just though it has to be mentionned, most problems once identified could have solved earlier if more info would have been provided with the first post...
  3. scorpio New Member

    Good advice, Hyksos.

    I debated compiling the driver from source since I didn't want to deal with breakage when a new kernel is installed but I can figure out how to block the kernel from auto-updating.

    Linux drivers weren't on the cd and there doesn't seem to be an official source for the source but I found an entry in the Linux MCE wiki that covers compiling and installing the atl1c driver where they link to a source package. Using that source I modified the makefile as instructed and built the driver. I renamed the original and manually copied the new module in place, rebooted and it works like a champ. Just don't strip the module like I initially did. The kernel won't load it if it's stripped.

    So this one has a happy ending too... :rolleyes5:



    Foxconn nT-425 (dual-core atom, 2GB RAM)
    Atheros AR5B95 dual GigE/802.11 net interface
    PIAF 2.0.6.2
    FreePBX 2.8.1.4

    :wink5:
  4. silly New Member

    Atheros driver saga

    Glad things panned out and you were able to preserve the "feng-shui of the system".

    I am having a bit of an issue compiling my own driver. I get the following result when I issue the make install command:

    make -C /lib/modules/2.6.32-220.2.1.el6.i686/build SUBDIRS=/home/root/atl1e/src modules
    make[1]: Entering directory `/usr/src/kernels/2.6.32-220.2.1.el6.i686'
    CC [M] /home/root/atl1e/src/atl1e_main.o
    /home/root/atl1e/src/atl1e_main.c: In function âatl1e_request_irqâ:
    /home/root/atl1e/src/atl1e_main.c:156: warning: passing argument 2 of ârequest_irqâ from incompatible pointer type
    include/linux/interrupt.h:123: note: expected âirq_handler_tâ but argument is of type âvoid (*)(int, void *)â
    /home/root/atl1e/src/atl1e_main.c: In function âatl1e_probeâ:
    /home/root/atl1e/src/atl1e_main.c:287: error: âstruct net_deviceâ has no member named âopenâ
    /home/root/atl1e/src/atl1e_main.c:288: error: âstruct net_deviceâ has no member named âstopâ
    /home/root/atl1e/src/atl1e_main.c:289: error: âstruct net_deviceâ has no member named âhard_start_xmitâ
    /home/root/atl1e/src/atl1e_main.c:290: error: âstruct net_deviceâ has no member named âget_statsâ
    /home/root/atl1e/src/atl1e_main.c:291: error: âstruct net_deviceâ has no member named âset_multicast_listâ
    /home/root/atl1e/src/atl1e_main.c:292: error: âstruct net_deviceâ has no member named âset_mac_addressâ
    /home/root/atl1e/src/atl1e_main.c:293: error: âstruct net_deviceâ has no member named âchange_mtuâ
    /home/root/atl1e/src/atl1e_main.c:294: error: âstruct net_deviceâ has no member named âdo_ioctlâ
    /home/root/atl1e/src/atl1e_main.c:305: error: âstruct net_deviceâ has no member named âtx_timeoutâ
    /home/root/atl1e/src/atl1e_main.c:313: error: âstruct net_deviceâ has no member named âvlan_rx_registerâ
    /home/root/atl1e/src/atl1e_main.c:316: error: âstruct net_deviceâ has no member named âpoll_controllerâ
    make[2]: *** [/home/root/atl1e/src/atl1e_main.o] Error 1
    make[1]: *** [_module_/home/root/atl1e/src] Error 2
    make[1]: Leaving directory `/usr/src/kernels/2.6.32-220.2.1.el6.i686'
    make: *** [default] Error 2

    I remember having similar problems when I built the driver from my other system but I ultimately found a solution searching on Google. I am thinking I may get better results if I use a full Centos 6.2 install as a system for building.

    Any suggestions...???
  5. wardmundy Nerd Uno

    Please forward a copy of the source and compiled versions so that we can incorporate them into the build. Thanks!
  6. scorpio New Member

    Apologies for the late reply...

    Silly, are you using the driver source linked to in the Linux MCE wiki? I didn't "make install". I just ran make and manually copied the driver in place (after renaming the old one). See if atl1c.ko exists in the src directory. If so, copy it to /lib/modules/<kernel version>/kernel/net/atl1c.

    Ward, I am sending a tarball with the modified source and a compiled module to support a t pbxinaflash dot com.
  7. darmock PIAF Developer

    Thank I rewrote things so the driver now works using make then make install then modprobe

    This has been automated for new installs however if you dont have internet connectivity you will have to manually download it to a usb drive and install it by hand

    FOR 32 BIT BASED SYSTEMS ONLY

    Code:
    wget http://pbxinaflash.org/piaf6/files/piafxtras-1.0-1.i686.rpm
    FOR 64 BIT BASED SYSTEMS ONLY

    Code:
    wget http://pbxinaflash.org/piaf6-64/files/piafxtras-1.0-1.x86_64.rpm
    to install

    Code:
    rpm -ivh piafxtras-1.0-1.i686.rpm
    then

    Code:
    cd /usr/src/piafxtras
    Code:
     chmod +x piafxtras-menu
    Code:
     ./piafxtras-menu
    Choose the last option


    Then reboot and see what happens


    Tom
  8. wardmundy Nerd Uno

    This driver provides support for the Atheros L1C gigabit ethernet adapter found in the Asus EEE PC, newer Acer Aspire One machines, Dell Inspirion laptops, and numerous other netbooks and low-cost PCs.

Share This Page