Ubuntu 10.10 has linux-headers-2.6.35-24-generic
(http://packages.ubuntu.com/maverick/linux-headers-generic) which is
almost the same as 25 version.
'usb_buffer_alloc' and 'usb_buffer_free' functions were renamed in
2.6.35 kernel version
(http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.35).
You can get 25 version of headers here:
http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-2.6.35-25-generic_2.6.35-25.43_i386.deb
I tried to fix errors and this is what I got.
When I renamed these usb functions ('usb_buffer_alloc' and
'usb_buffer_free') in source, I got another error:
FATAL: modpost: GPL-incompatible module agrmodem.ko uses GPL-only symbol
'usb_put_dev'
OK. Patching...
patch < patches/GPL.patch
It looks like compiled, but with warnings and this module couldn't be
loaded. Warnings are following:
$ sudo make
make -C /lib/modules/2.6.35-25-generic/build
M=/usr/src/agrsm-11c11040-2.1.80 modules
make[1]: ÐÑÐÐ Ð ÐÐÑÐÐÐÐ `/usr/src/linux-headers-2.6.35-25-generic'
CC [M] /usr/src/agrsm-11c11040-2.1.80/agrsoftmodem.o
/usr/src/agrsm-11c11040-2.1.80/agrsoftmodem.c: In function
âx_linux_dbg_print_critâ:
/usr/src/agrsm-11c11040-2.1.80/agrsoftmodem.c:358: warning: the frame
size of 1540 bytes is larger than 1024 bytes
/usr/src/agrsm-11c11040-2.1.80/agrsoftmodem.c: In function
âx_linux_dbg_printâ:
/usr/src/agrsm-11c11040-2.1.80/agrsoftmodem.c:346: warning: the frame
size of 1540 bytes is larger than 1024 bytes
SHIPPED /usr/src/agrsm-11c11040-2.1.80/agrmodemlib.o
CC [M] /usr/src/agrsm-11c11040-2.1.80/HDA.o
CC [M] /usr/src/agrsm-11c11040-2.1.80/serial26.o
LD [M] /usr/src/agrsm-11c11040-2.1.80/agrmodem.o
LD [M] /usr/src/agrsm-11c11040-2.1.80/agrserial.o
Building modules, stage 2.
MODPOST 2 modules
WARNING: could not find
/usr/src/agrsm-11c11040-2.1.80/.agrmodemlib.o.cmd for
/usr/src/agrsm-11c11040-2.1.80/agrmodemlib.o
WARNING: "x_usb_buffer_alloc_atomic"
[/usr/src/agrsm-11c11040-2.1.80/agrmodem.ko] undefined!
WARNING: "x_usb_buffer_free"
[/usr/src/agrsm-11c11040-2.1.80/agrmodem.ko] undefined!
WARNING: "x_usb_buffer_free_ext"
[/usr/src/agrsm-11c11040-2.1.80/agrmodem.ko] undefined!
WARNING: "x_usb_buffer_alloc_kernel"
[/usr/src/agrsm-11c11040-2.1.80/agrmodem.ko] undefined!
CC /usr/src/agrsm-11c11040-2.1.80/agrmodem.mod.o
LD [M] /usr/src/agrsm-11c11040-2.1.80/agrmodem.ko
CC /usr/src/agrsm-11c11040-2.1.80/agrserial.mod.o
LD [M] /usr/src/agrsm-11c11040-2.1.80/agrserial.ko
make[1]: ÐÑÑÐÐ ÐÐ ÐÐÑÐÐÐÐÐ `/usr/src/linux-headers-2.6.35-25-generic'
Error during modprobe:
$ sudo modprobe agrmodem
FATAL: Error inserting agrmodem
(/lib/modules/2.6.35-25-generic/extra/agrmodem.ko): Unknown symbol in
module, or unknown parameter (see dmesg)
And from dmesg:
[ 1519.990664] agrmodem: Unknown symbol x_usb_buffer_alloc_kernel (err 0)
[ 1519.990925] agrmodem: Unknown symbol x_usb_buffer_free_ext (err 0)
[ 1519.991027] agrmodem: Unknown symbol x_usb_buffer_free (err 0)
[ 1519.991467] agrmodem: Unknown symbol x_usb_buffer_alloc_atomic (err 0)
I hope you'll help me build this driver.
Regards,
Vitaliy
18.01.2011 3:37, Marvin Stodolsky ÐÐÑÐÑ:
2.6.35-25-generic,
Where did you get the linux-headers-2.6.35-25-generic from.
I cannot find them through packages.ubuntu.com
<http://packages.ubuntu.com>
2011/1/17 Vitaliy Aksyonov <gbmr@xxxx <mailto:gbmr@xxxx>>:
> Hi all!
>
> I'm trying to install drivers for agrsm-11c11040 in Ubuntu 10.10
>
> $ uname -a
> Linux ulaptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:16
UTC 2011 i686 GNU/Linux
>
> I downloaded agrsm-11c11040_20091225_i386.deb, but when I'm trying
to install it, I'm getting compilation error.
> Could you please help me?
> Thanks in advance.
>
> Output is following:
>
> $ sudo dpkg -i agrsm-11c11040_20091225_i386.deb
> [sudo] password for boomer:
> ÐÑÐÐÑ ÑÐÐÐÐ ÐÐ ÐÑÐÑÐÐÐÐÐÐ ÐÐÐÐÑÐ agrsm-11c11040.
> (ÐÑÐÐÐÐ ÐÐÐÑ ÐÐÐÐÑÑ ... ÐÐ ÐÐÐÐÑÐ ÐÐÐÐÐÑ ÑÑÑÐÐÐÐÐÐÐÐ 242817 ÑÐÐÐÐÐ Ð
ÐÐÑÐÐÐÐÐÐ.)
> ÐÐÑÐÐÐÐÐÑÐÐÐÑÑÑ ÐÐÐÐÑ agrsm-11c11040 (ÐÐ ÑÐÐÐÐ
agrsm-11c11040_20091225_i386.deb)...
>
> The DKMS driver autocompiling package is installed.
> The drivers source code is being installed to the folder
/usr/src/agrsm-11c11040-2.1.80
> Then the drivers will be compiled and installed by the dkms tool
> provided that your System has adequate compiling support.
> Following kernel upgrades, complementary drivers will be
> automatically compiled and installed.
>
> ÐÐÑÑÑÐÐÐÐÐÑÑÑ ÐÐÐÐÑ agrsm-11c11040 (20091225) ...
>
> kboot=2.6.35-25-generic
>
> DKMS support found. Attempting drivers compilation and installation
using DKMS actions on:
>
> Creating symlink /var/lib/dkms/agrsm-11c11040/2.1.80/source ->
> /usr/src/agrsm-11c11040-2.1.80
>
> DKMS: add Completed.
>
> Kernel preparation unnecessary for this kernel. Skipping...
> applying patch GPL.patch...patching file agrsoftmodem.c
>
>
> Building module:
> cleaning build area....
> make KERNELRELEASE=2.6.35-25-generic -C
/lib/modules/2.6.35-25-generic/build
M=/var/lib/dkms/agrsm-11c11040/2.1.80/build....(bad exit status: 2)
>
> Error! Bad return status for module build on kernel:
2.6.35-25-generic (i686)
> Consult the make.log in the build directory
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/ for more information.
> 0
> 0
> Traceback (most recent call last):
> File "/usr/share/apport/package-hooks/dkms.py", line 47, in <module>
> report['SourcePackage'] = apport.packaging.get_source(package)
> File "/usr/lib/python2.6/dist-packages/apport/packaging_impl.py",
line 106, in get_source
> if self._apt_pkg(package).installed:
> File "/usr/lib/python2.6/dist-packages/apport/packaging_impl.py",
line 66, in _apt_pkg
> raise ValueError, 'package does not exist'
> ValueError: package does not exist
>
> Error! Could not locate agrmodem.ko for module agrsm-11c11040 in the
DKMS tree.
> You must run a dkms build for kernel 2.6.35-25-generic (i686) first.
> Installation of the agrsm-tools package is recommended,
> to set symbolic links and early testing. Obtain from
http://linmodems.technion.ac.il/packages/ltmodem/11c11040/
>
>
================================================================================================
> $cd /var/lib/dkms/agrsm-11c11040/2.1.80/build
> $ cat make.log
> DKMS make.log for agrsm-11c11040-2.1.80 for kernel 2.6.35-25-generic
(i686)
> ÐÑÐ ÐÐÐ 18 00:10:38 EET 2011
> make: ÐÑÐÐ Ð ÐÐÑÐÐÐÐ `/usr/src/linux-headers-2.6.35-25-generic'
> LD /var/lib/dkms/agrsm-11c11040/2.1.80/build/built-in.o
> CC [M] /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.o
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c: In
function âx_usb_buffer_alloc_atomicâ:
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c:586: error:
implicit declaration of function âusb_buffer_allocâ
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c:586:
warning: return makes pointer from integer without a cast
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c: In
function âx_usb_buffer_alloc_kernelâ:
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c:590:
warning: return makes pointer from integer without a cast
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c: In
function âx_usb_buffer_freeâ:
> /var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.c:595: error:
implicit declaration of function âusb_buffer_freeâ
> make[1]: ***
[/var/lib/dkms/agrsm-11c11040/2.1.80/build/agrsoftmodem.o] ÐÑÐÐÐÐ 1
> make: *** [_module_/var/lib/dkms/agrsm-11c11040/2.1.80/build] ÐÑÐÐÐÐ 2
> make: ÐÑÑÐÐ ÐÐ ÐÐÑÐÐÐÐÐ `/usr/src/linux-headers-2.6.35-25-generic'
>
> -- ÑÐÐÐÐÐÐ -----------------------------------------------------------
> ÐÑÐ ÑÐÐÑÐÑ Ð ÐÐÐÐÑÐÐÑÑÐÑ? - http://kino.i.ua/
>
>