Fedora 21 Workstation - Agere ET-131x network card not working

poma pomidorabelisima at gmail.com
Fri Feb 20 13:11:51 UTC 2015


On 20.02.2015 07:15, Meikel wrote:
> Am 18.02.2015 um 17:35 schrieb poma:
>> On 18.02.2015 12:45, Meikel wrote:
>>> Am 17.02.2015 um 19:45 schrieb poma:
>>>> $ su -c 'yum install kernel-devel'
>>>>
>>>> ~~~~~~~~
>>>>
>>>> $ wget \
>>>> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/plain/drivers/net/ethernet/agere/et131x.h \
>>>> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/plain/drivers/net/ethernet/agere/et131x.c
>>>>
>>>> ~~~~~~~~~~~~~~
>>>>
>>>> $ cat Makefile
>>>> obj-m += et131x.o
>>>>
>>>> KDIR  := /lib/modules/$(shell uname -r)/build
>>>> PWD   := $(shell pwd)
>>>>
>>>> default:
>>>> 	$(MAKE) -C $(KDIR) M=$(PWD) modules
>>>>
>>>> ~~~~~~
>>>>
>>>> $ make
>>>> $ su
>>>>
>>>> # cp et131x.ko /lib/modules/$(uname -r)/updates
>>>> # depmod
>>>>
>>>> # modinfo et131x
>>>> filename:       /lib/modules/3.18.7-200.fc21.x86_64/updates/et131x.ko
>>>> description:    10/100/1000 Base-T Ethernet Driver for the ET1310 by Agere Systems
>>>> license:        Dual BSD/GPL
>>>> author:         Mark Einon <mark.einon at gmail.com>
>>>> author:         Victor Soriano <vjsoriano at agere.com>
>>>> alias:          pci:v000011C1d0000ED01sv*sd*bc*sc*i*
>>>> alias:          pci:v000011C1d0000ED00sv*sd*bc*sc*i*
>>>> depends:
>>>> vermagic:       3.18.7-200.fc21.x86_64 SMP mod_unload
>>>>
>>>> # modprobe -v et131x
>>>> insmod /lib/modules/3.18.7-200.fc21.x86_64/updates/et131x.ko
>>>>
>>>> # dmesg -t
>>>> et131x: module verification failed: signature and/or  required key missing - tainting kernel
>>>>
>>>>
>>>> Works?
>>>>
>>>>
>>> First I have to say that the machine running Fedora 21 is not connected
>>> to network (since Agere Et-131x is the only network card). From my
>>> understanding commands like "yum install ..." or "wget ..." will not run
>>> on that machine without network connectivity. Therefore I installed a
>>> Fedora 21 into a virtualbox on my Win 7 and followed the steps you
>>> described there:
>>>
>>> It went fine until the "cp et131x.ko /lib/modules/$(uname -r)/updates"
>>> command. When reaching that step I did transfer the et131x.ko via USB
>>> stick to the target machine. There I did continue with the procedure you
>>> described.
>>>
>>> When running "modprobe -v et131x" on the target machine it failed with
>>> the following message:
>>>
>>> sudo modprobe -v et131x
>>>     insmod /lib/modules/3.17.4-301.fc21.i686/updates/et131x.ko
>>>     modprobe: ERROR: could not insert 'et131x': Exec format error
>>>
>>> To get some more information I then ran "file" and "uname" commands:
>>>
>>> file /lib/modules/3.17.4-301.fc21.i686/updates/et131x.ko
>>>     /lib/modules/3.17.4-301.fc21.i686/updates/et131x.ko: ELF 32-bit LSB
>>> relocatable, Intel 80386, version 1 (SYSV),
>>> BuildID[sha1]=fa9fe5876be08f1c23a9873e78460196bc67effb, not stripped
>>>
>>> uname -a
>>>     Linux thetarget.localdomain 3.17.4-301.fc21.i686 #1 SMP Thu Nov 27
>>> 19:32:52 UTC 2014 i686 i686 i386 GNU/Linux
>>>
>>> On the machine where I built the et131x.ko file I also ran "uname" command:
>>>
>>> uname -a
>>>     Linux thebuilder.localdomain 3.18.7-200.fc21.i686 #1 SMP Wed Feb 11
>>> 22:26:31 UTC 2015 i686 i686 i386 GNU/Linux
>>>
>>> I installed it from the same installation media but unfortunately ran
>>> "yum update" before building the et131x.ko file. So the kernel versions
>>> on the two machines differ. Before following your recipe I started
>>> building a custom kernel, so I have some ~/rpmbuild directory, perhaps
>>> this does in some way conflict with your description.
>>>
>>> Whenever you used "su" command in your description I used "sudo"
>>> command, I hope that this will not lead to problems.
>>>
>>> I'm not sure if it is valid to build the et131x.ko file on another
>>> machine, so I'll try to find an USB-Ethernet-Card to bring the target
>>> machine to the network and then again run thoses steps you described
>>> directly on the target machine.
>>>
>>> Thanks,
>>>
>>> Meikel
>>>
>>
>> You mixed versions of the kernel.
>> Sync them and it should go. ;)
>>
>>
>>
> 
> Thanks a lot, now it works, but there are two questions remaining, 
> because it's not clear to me what it means that I "mixed versions of the 
> kernel". Now I'm wondering if future system updates (i.e. yum update) 
> can lead to the driver no longer working and the need to build it again? 
> I'd like to try out a different F21 spin, i.e. the LXDE. If I do a fresh 
> installation from such a spin, can I then copy my existing et131x.ko 
> file to the new installation, or do I have to build it again from scratch?
> 

"Mixed" i.e. different kernel versions & architectures e.g.
3.17.4-301.fc21.i686 ≠ 3.18.7-200.fc21.i686
3.17.4-301.fc21.i686 ≠ 3.17.4-301.fc21.x86_64
3.18.7-200.fc21.i686 ≠ 3.18.7-200.fc21.x86_64
etc.

e.g.
'et131x' built against 3.18.7-200.fc21.i686
should work only within the very same kernel version/arch,
thus 3.18.7-200.fc21.i686, no matter where the kernel is.

If you do not want to repeat with every kernel upgrade, again and again,
ask Josh (Fedora kernel maintainer) to include that module:
CONFIG_NET_VENDOR_AGERE=y
CONFIG_ET131X=m




More information about the users mailing list