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@xxxxxxxxx> >>>> author: Victor Soriano <vjsoriano@xxxxxxxxx> >>>> 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 -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org