Summary: | net-dialup/fcdsl2-0.1-r1: Does not compile with modern kernel | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tomek <tomek> |
Component: | New packages | Assignee: | Stefan Briesenick (RETIRED) <sbriesen> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | net-dialup, xmw |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Renames method calls find_task_by_pid() to find_task_by_vpid()
ebuild with some adaption to 2.6.32 and pipe behavior |
Description
Tomek
2009-08-20 19:50:01 UTC
Created attachment 204211 [details, diff] Renames method calls find_task_by_pid() to find_task_by_vpid() The uploaded ebuld 'fcdsl2-0.1-r2.ebuild' works on my machine and may be used as template. See therefore also discussion in forum: http://forums.gentoo.org/viewtopic-t-789598.html Hi Tomek, the ebuild works here, too. I've removed the content of the $Header and changed the indentation from spaces to tabs. I've added it to http://svn.xmw.de/gentoo-overlay/. But the ebuild writes * Updating module dependencies for 2.6.32-gentoo-r4-pandora.1 ... WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWBlockOpen WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWFreeBuffer WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWRxBuffer WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWBlockClose WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWAllocBuffer WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWStart WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWExchangeDeviceRequirements WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWStop WARNING: //lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko needs unknown symbol OSHWTxBuffer [ ok ] The moment I load the module, I see an error pandora ~ # modprobe fcdsl2 FATAL: Error inserting fcdsl2 (/lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko): Unknown symbol in module, or unknown parameter (see dmesg) with kernel log reading [ 545.740725] fcdsl2: Unknown symbol OSHWBlockOpen [ 545.740893] fcdsl2: Unknown symbol OSHWFreeBuffer [ 545.741401] fcdsl2: Unknown symbol OSHWRxBuffer [ 545.741567] fcdsl2: Unknown symbol OSHWBlockClose [ 545.741733] fcdsl2: Unknown symbol OSHWAllocBuffer [ 545.741896] fcdsl2: Unknown symbol OSHWStart [ 545.742360] fcdsl2: Unknown symbol OSHWExchangeDeviceRequirements [ 545.742528] fcdsl2: Unknown symbol OSHWStop [ 545.742694] fcdsl2: Unknown symbol OSHWTxBuffer pandora fcdsl2-0.1-r2 # grep -r OSHW /var/tmp/portage/net-dialup/fcdsl2-0.1-r2 /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWTxBuffer" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWStop" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWExchangeDeviceRequirements" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWStart" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWAllocBuffer" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWBlockClose" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWRxBuffer" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWFreeBuffer" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/temp/build.log:WARNING: "OSHWBlockOpen" [/var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko] undefined! Binary file /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/lib/fcdsl2-lib.o matches /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWBlockOpen (unsigned, hw_block_handle *); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr void OSHWBlockClose (hw_block_handle); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWStart ( /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr void OSHWStop (hw_block_handle); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr hw_buffer_descriptor_p OSHWAllocBuffer (hw_block_handle, unsigned); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr void OSHWFreeBuffer (hw_buffer_descriptor_p); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWGetMaxBlockSize (hw_block_handle); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWGetMaxConcurrentRxBlocks (hw_block_handle); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWGetMaxConcurrentTxBlocks (hw_block_handle); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr void * OSHWExchangeDeviceRequirements (hw_block_handle, void *); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWTxBuffer ( /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWRxBuffer ( /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWCancelRx (hw_block_handle); /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h:extern __attr unsigned OSHWCancelTx (hw_block_handle); Binary file /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.o matches Binary file /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2.ko matches Binary file /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/fcdsl2-lib.o matches Binary file /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/fcdsl21.ko matches Binary file /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/image/lib/modules/2.6.32-gentoo-r4-pandora.1/net/fcdsl2.ko matches The Symbols were defined inside /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.h with /var/tmp/portage/net-dialup/fcdsl2-0.1-r2/work/fritz/src/devif.c to be empty (0 Bytes). The devif.c supplied by fcdslusba-0.1-r1 ebuild has 17kB, but does not work by moving to the fcdsl2 location. Do you have any clue? I have to postpone my efforts due to lack of time at this moment. Michael Created attachment 219175 [details] ebuild with some adaption to 2.6.32 and pipe behavior n.b. sed ... < "file" > "file" does not work like inplace. In rare cases with a friendly sheduler and files smaller than the buffer size it will succeed, but in __GENERAL__, this leaves file just empty. sed -i ... "file" does the right thing. Next, capi_ctr_reseted war renamed to capi_ctr_down. find_task_by_pid(.) was move to find_task_by_vpid(.), which is now something like find_pis_ns(., 0), but this works only with MODULE_LICENSE("GPL"); which is set, too. The newest version is from 11_1, not 10_3 in http://opensuse.foehr-it.de/rpms/11_1/src/${P}-0.src.rpm. Now I can load this module w/o crash or error, but I've just discovered, that I've the v1 card, not the v2 ... I'll add my patch later. I've learned that there is a direct download from AVM with version 3.77 from http://download.avm.de/cardware/fritzcrd.dsl_v20/linux_64bit/suse.10.0/fcdsl2-suse10.0-64bit-3.11-07.tar.gz for kernel circa 2.6.30. That could be a cleaner starting point for a gentoo ebuild. Maybe more to come. Abandoned upstream. Won't work with current kernels. Closed Source. |