Summary: | net-dialup/bewan-adsl segmentation fault with kernel 2.6.20.6 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | rospolosco |
Component: | Current packages | Assignee: | Gentoo Dialup Developers <net-dialup> |
Status: | RESOLVED UPSTREAM | ||
Severity: | critical | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 163825 | ||
Attachments: | full output of dmesg after segmentation fault |
Description
rospolosco
2007-04-10 10:11:42 UTC
Created attachment 115886 [details]
full output of dmesg after segmentation fault
Did you tried it without CONFIG_PREEMT ? (In reply to comment #2) > Did you tried it without CONFIG_PREEMT ? > Not yet. Today I will recompile the kernel and post the result. Thanks. (In reply to comment #3) > (In reply to comment #2) > > Did you tried it without CONFIG_PREEMT ? > > > > Not yet. Today I will recompile the kernel and post the result. Thanks. > I compiled 2.6.20.6 without CONFIG_PREEMT and I get the same segmentation fault. On another machine with a preemt kernel 2.6.19.1 the driver works fine. So the situation is: 1) 2.6.17.13 no preemt - ohci - works 2) 2.6.19.1 preempt - uhci -works 3) 2.6.20.6 both no preemt and preemt - ohci - doesn't work (segmentation fault) 1 and 3 is the same machine. The thing is I don't have the necessary hardware. Do you have the knowledge and available time for fixing it by yourself? Upstream doesn't seem to be interested in maintaining this package, even if you do their work. They ignored a patch sent to them months ago. (In reply to comment #5) > The thing is I don't have the necessary hardware. > Do you have the knowledge and available time for fixing it by yourself? > > Upstream doesn't seem to be interested in maintaining this package, even if you > do their work. They ignored a patch sent to them months ago. > The knowlede I have is only applying patches :-( Or if you have an idea how to fix it and which lines of code I have to add|change|remove, I could apply and test it. Thanks. I will try to discover the problem, but I don't count on it. Unfortunatelly, the problem lies in the binary part of the driver, the modem_ant_USB_LINUX.o file. Since you are a Bewan customer, good luck in asking them to fix this problem. I've modified the ebuild to die if kernel version is 2.6.20 or above. Closed as UPSTREAM. (In reply to comment #8) > Unfortunatelly, the problem lies in the binary part of the driver, the > modem_ant_USB_LINUX.o file. Since you are a Bewan customer, good luck in asking > them to fix this problem. > > I've modified the ebuild to die if kernel version is 2.6.20 or above. > > Closed as UPSTREAM. > Anyway, thanks for attention. There may be a fix to this here: https://bugs.launchpad.net/ubuntu/+source/unicorn/+bug/945 er... I know the bug itself is quite old, but it's the comments at the end that are interesting. Just clarifying... The problem isn't compilation (that I've fix it with patching), but something that is done in the object file modem_ant_USB_LINUX.o. Since we don't have the source file of that, I can't do nothing about it. The only thing you could do is disassemble the object file and fix the problem in the asm file. Can you do that? More importantly, do you care enough to fix Bewan's own problems? aah, whoops, I'm a PCI modem user - would the same apply to me? Is there a way to compile only the PCI version of the driver if above 2.6.20 kernel version? You could modify the kernel_is line as follows: if use usb && kernel_is ge 2 6 20 ; then Then run ebuild bewan-adsl-0.9.3-r2.ebuild digest. Tell me if it worked for ya and I'll modify the ebuild accordingly. Bah - gives me: In file included from /var/tmp/portage/net-dialup/bewan-adsl-0.9.3-r2/work/unicorn/unicorn_pci/unicorn_pcidrv.c:17: include/linux/pci.h: In function 'pci_register_driver': include/linux/pci.h:595: error: 'KBUILD_MODNAME' undeclared (first use in this function) include/linux/pci.h:595: error: (Each undeclared identifier is reported only once include/linux/pci.h:595: error: for each function it appears in.) /var/tmp/portage/net-dialup/bewan-adsl-0.9.3-r2/work/unicorn/unicorn_pci/unicorn_pcidrv.c: In function 'find_unicorn': What should I set this constant to? I'd like to get it compiled to see if it'll work - if not, I'm going back to my USB speedtouch, even though the PCI modem cost me 30 quid. Waste of money. Next time, I'm getting an external modem and going pppoe with it. You can try adding #ifndef KBUILD_MODULENAME #define KBUILD_MODNAME "unicorn_pci_eth" #endif in the source file, but in the end you will have 2 modules (unicorn_pci_atm.ko and unicorn_pci_eth.ko) that will be build using this define. Anyway, I guess modem_ant_PCI_LINUX.o is as broken as the modem_ant_USB_LINUX.o. Better use another type of device or use kernel versions lower than 2.6.20. (In reply to comment #16) > Anyway, I guess modem_ant_PCI_LINUX.o is as broken as the > modem_ant_USB_LINUX.o. Better use another type of device or use kernel versions > lower than 2.6.20. > I have published a modified (unofficial) version (0.9.4) of the original 0.9.3 Bewan driver at my site: http://legolas558.iragan.com/index.php?option=downloads&task=info&id=32&Itemid=50&-Bewan-Unicorn-USB-PCI-ETH-ATM-ADSL-driver-v0-9-4-unofficial-version It does not yet work but I am (slowly) working on it, and it's anyway a good start for developers who wants to work on it. And yes, the modem_ant_USB_LINUX.o binary causes NULL-pointer access, I am debugging it and it seems due to the binary using old semaphore structures (perhaps of the old kernel). It can theorically be worked around without reverse engineering (although it has been very stupid for the implementors to tie a binary to kernel structures). |