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