net-dialup/intel-536ep-4.71 fails with new 2.6.16 : Sorry, I have not enough skills to produce a patch ! * Preparing Intel536 module make -C /lib/modules/2.6.16-r2d2/build SUBDIRS=/var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv modules make[1]: Entering directory `/usr/src/linux-2.6.16' CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.o CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/clmmain.o CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/rts.o CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/task.o /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:73: attention : dans la d
net-dialup/intel-536ep-4.71 fails with new 2.6.16 : Sorry, I have not enough skills to produce a patch ! * Preparing Intel536 module make -C /lib/modules/2.6.16-r2d2/build SUBDIRS=/var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv modules make[1]: Entering directory `/usr/src/linux-2.6.16' CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.o CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/clmmain.o CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/rts.o CC [M] /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/task.o /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:73: attention : dans la déclaration de « EXPORT_SYMBOL_NOVERS », utilisation de « int » par défaut pour le type /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:73: attention : noms de paramètres (sans type) dans la déclaration de fonction /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:73: attention : la définition de données n'a pas de type ni de classe de stockage /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c: In function `softcore_init_struct': /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:339: attention : affectation d'un type pointeur incompatible /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c: In function `close': /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:439: attention : déclaration implicite de la fonction « pm_unregister » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c: In function `send_data_to_user': /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:587: erreur: structure n'a pas de membre nommé « flip » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:592: erreur: structure n'a pas de membre nommé « flip » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:593: erreur: structure n'a pas de membre nommé « flip » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:595: erreur: structure n'a pas de membre nommé « flip » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:596: erreur: structure n'a pas de membre nommé « flip » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:597: erreur: structure n'a pas de membre nommé « flip » /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c: In function `hamproc_write': /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:684: attention : valeur à retourner « copy_from_user » ignorée, déclaré avec l'attribut warn_unused_result /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c: At top level: /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:880: attention : initialisation transforme un pointeur en entier sans transtypage /var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.c:289: attention : « power_callback » défini mais n'a pas été utilisé make[2]: *** [/var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv/coredrv.o] Erreur 1 make[2]: *** Attente des tâches non terminées.... make[1]: *** [_module_/var/tmp/portage/intel-536ep-4.71/work/Intel-536/coredrv] Erreur 2 make[1]: Leaving directory `/usr/src/linux-2.6.16' make: *** [536core_26] Erreur 2
Created attachment 83127 [details, diff] Patch I don't understand why you didn't get errors when compiling the TTY parts. Anyway, please try this patch.
Created attachment 83128 [details, diff] better patch Use this one instead
Created attachment 83129 [details, diff] the real deal its late.. this one should do the trick :)
Your lastest patch make the module compile Patch applyed by adding a new src_unpack fun in the ebuild : src_unpack() { unpack ${A} cd ${S} epatch ${FILESDIR}/${PN}-2.6.16-fix.patch } But I get an error inserting the module : # modprobe Intel536 FATAL: Error inserting Intel536 (/lib/modules/2.6.16-r2d2/misc/Intel536.ko): Unknown symbol in module, or unknown parameter (see dmesg) And message log : Mar 26 04:04:07 r2d2 Intel536: Unknown symbol tty_insert_flip_string_flags Mar 26 04:04:07 r2d2 Intel536: Unknown symbol tty_buffer_request_room
Please reproduce that on a supported kernel such as vanilla 2.6.16 or gentoo-sources-2.6.16, and post the full emerge log (for intel536) if it still fails.
Created attachment 83175 [details] emerge log In fact, 2.6.16-r2d2 is just a 2.6.16 vanilla kernel (I add a suffix in EXTRAVERSION in linux/Makefile to keep a track of my build revision and configuration of the runing kernel), there is no patch in this kernel. You can see my conf here : http://doc.xwing.info/config-2.6.16.gz Attached emerge log
OK, I think I found the problem : Those two missing symbols are exported in GPL API in tty_io.c : EXPORT_SYMBOL_GPL(tty_buffer_request_room); EXPORT_SYMBOL_GPL(tty_insert_flip_string_flags); But the module does not specify it's a GPL module ! so those symbols are not exported for this module... Adding MODULE_LICENSE("GPL"); to coredrv.c did the trick. Problem is : this module is not gpl...
Then we have a fairly large problem on our hands and this module probably won't work with 2.6.16 any time soon. Unblocking 126972.
Since only upstream can change license, I've modified pkg_setup to die if kernel >= 2.6.16. Please inform us when they switched to GPL. ;)
(In reply to comment #7) > OK, I think I found the problem : > Those two missing symbols are exported in GPL API in tty_io.c : > > EXPORT_SYMBOL_GPL(tty_buffer_request_room); > EXPORT_SYMBOL_GPL(tty_insert_flip_string_flags); > > But the module does not specify it's a GPL module ! so those symbols are not > exported for this module... > > Adding MODULE_LICENSE("GPL"); to coredrv.c did the trick. > > Problem is : this module is not gpl... > I just would like to ask some more information on this topic. What do you mean by "did the trick"? Does the driver only compile or also work in your case? After I did all your changes, I managed to compile it. But when I try to launch the modem with pppd I get four error messages complaining about unknown flags. Did anyone already contact upstream people? Let me know if I can be of any help, since I have the hardware...
I don't know about others, but I didn't even thought to contact the upstream. If you're feeling lucky, you could try contact Intel and tell them about it.
(In reply to comment #11) As expected - no reaction from Intel yet. May I ask again, if anyone got this modem really running or only compiled. Since I manage to modprobe it, but it doesn
(In reply to comment #11) As expected - no reaction from Intel yet. May I ask again, if anyone got this modem really running or only compiled. Since I manage to modprobe it, but it doesn´t work for dialing out. I am aware about this licensing problem, but is this a no go for any tricks to get it running?
(In reply to comment #12) > (In reply to comment #11) > As expected - no reaction from Intel yet. > > May I ask again, if anyone got this modem really running or only compiled. > Since I manage to modprobe it, but it doesn
(In reply to comment #12) > (In reply to comment #11) > As expected - no reaction from Intel yet. > > May I ask again, if anyone got this modem really running or only compiled. > Since I manage to modprobe it, but it doesn´t work for dialing out. I am aware > about this licensing problem, but is this a no go for any tricks to get it > running? > I use this patch (must invert the 2 args of tty_insert_flip_char from the patch here) http://gentoo.xwing.info/net-dialup/intel-536ep/files/intel-536ep-2.6.16-fix.patch But the enforcing og GPL is VERY ugly I use this as a workaround to have my modem working on 2.6.16, but it's really ugly (shame on me, I should not use this !)... Tested while faxing and dialup : work for me
(In reply to comment #13) > I use this as a workaround to have my modem working on 2.6.16, but it's really > ugly (shame on me, I should not use this !)... > Tested while faxing and dialup : work for me Merci Guillaume, tu m'as sauv
(In reply to comment #13) > I use this as a workaround to have my modem working on 2.6.16, but it's really > ugly (shame on me, I should not use this !)... > Tested while faxing and dialup : work for me Merci Guillaume, tu m'as sauvé.
Since there is no news from intel, I added some more fixes to compile against kernel 2.6.17 and with gcc 4.1 It can be found here : http://gentoo.xwing.info/net-dialup/intel-536ep/ In particular : patch for gcc 4.1 : http://gentoo.xwing.info/net-dialup/intel-536ep/files/intel-536ep-gcc-4.1-fix.patch and patch for kernel 2.6.17 : http://gentoo.xwing.info/net-dialup/intel-536ep/files/intel-536ep-2.6.17-fix.patch Seems to work well for me, but there is always the ugly license hack :'(
i've been able to compile and install this ebuild, but i don't have the modem to test it. i compiled it with [gcc-3.4.6 / kernel-2.6.16-r4] and [gcc-4.1 / kernel-2.6.17] and the 2 systems compiles and installs the module. (In reply to comment #15) > Since there is no news from intel, I added some more fixes to compile against > kernel 2.6.17 and with gcc 4.1 > > It can be found here : http://gentoo.xwing.info/net-dialup/intel-536ep/ > In particular : patch for gcc 4.1 : > http://gentoo.xwing.info/net-dialup/intel-536ep/files/intel-536ep-gcc-4.1-fix.patch > and patch for kernel 2.6.17 : > http://gentoo.xwing.info/net-dialup/intel-536ep/files/intel-536ep-2.6.17-fix.patch > > Seems to work well for me, but there is always the ugly license hack :'( >
Here is the updated ebuild to compile against 2.6.18 : http://gentoo.xwing.info/net-dialup/intel-536ep/ Completely reworked power management support (remove pm.c deprecated functions and use the standard suspend/resume). The module work for me, but notice that I have not tested suspend/resume (btw it should work), and there is always the dirty license hack... (really, thanks intel...)
(In reply to comment #17) > Here is the updated ebuild to compile against 2.6.18 : > http://gentoo.xwing.info/net-dialup/intel-536ep/ > ... snip ... > The module work for me, but notice that I have not tested suspend/resume (btw > it should work), and there is always the dirty license hack... (really, thanks > intel...) > Guillaume's ebuild works for me on 2.6.17-gentoo-r8, modprobe Intel536 works though it creates /dev/536ep0 instead of the /dev/536ep device I had previously (under 2.6.14 kernel). Works ok with minicom and with Hylafax send (not yet tested receive). Thanks Guillaume! And to Intel for releasing usable drivers, even if they do have a weird license :-) - Thomas