Module fcpci not found.

Bug #264697 reported by Dennis Gädeke on 2008-09-04
This bug affects 1 person
Affects Status Importance Assigned to Milestone
isdnutils (Ubuntu)
linux-restricted-modules (Ubuntu)

Bug Description

Binary package hint: isdnutils

I am not been able to use my AVM Fritz!Card PCI v2.0 on Intrepid Ibex.

I installed capiutils, and uncommented the 'fcpci' line in /etc/isdn/capi.conf.

After restart i got this error on capiinit.

sudo capiinit
FATAL: Module fcpci not found.
ERROR: failed to load driver fcpci

Please let me know if you need more information.

lsb_release -rd
Description: Ubuntu intrepid (development branch)
Release: 8.10

capiutils: 3.12.20071127-0ubuntu1
linux-restricted-modules-generic: 2.6.27-1.1

Jörg Pranger (jpranger) wrote :

Same problem here.
linux-restricted-modules-generic: 2.6.27-4

ManuPeng (mvieuxmaire) wrote :

I'm in the process of fixing this on my computer. Someone forgot to include the firmware package avm-fritz-firmware-<kernel>.deb on the live CD.
It's usually located at /pool/restricted/l/linux-restricted-modules...

Luckily there's Windows, I'm using it right now to hunt down the missing package and complete this installation.

ManuPeng (mvieuxmaire) wrote :

Alright, I've fixed it and I'll try to describe the steps here. I use an AVM Fritz Card DSL SL, but not for much longer, the amazing amount of crap I've had to deal with regularly over the years to get this thing working has had its toll on me. I'm going the router way in a month and it will all be plug&play from then on. Oh, and the router won't be AVM harder, that I swear...

I digress but I want AVM to know they've lost a customer by not providing better drivers for linux.

This is for the DSL SL card, adjust to your card type:
0) There are enough guides as to how to install the AVM cards, from installing the relevant DEB packages to editing capi.conf and editing the provider file:!Card_DSL
My goal here is only to explain how to compile the kernel module, since no kernel module is to be found on the last Intrepid beta and most likely none will be on the final release.

1) Find a computer with a working internet connection and download:

2) Get back on your broken Intrepid and open the downloaded DEB- package with the archive manager. You want to extract the source code that's inside data.tar.gz/./usr/src/avm-fritz.tgz/fritz/fcdslsl

3) With a terminal, go into the extracted directory, you should see a "src" and a "lib" directory.

4) sudo make
It will fail because of the function "find_task_by_pid()" that has been removed from the kernel. I've contacted the developer who removed it to ask if a replacement function is available.

5) For now though, we will have edit the source code, it's nothing big though. Open driver.c inside the "src" directory with any text editor and search for "find_task_by_pid", it will appear 3 times in the file but needs be commented out (the /* and */ or // signs for non-developers) only 2 times:
a) in function exit_debug_buffer
line 420
old: if (find_task_by_pid...
new: /*if (find_task_by_pid...

line 424
old: }
new: }*/

b) in function kill_thread
line 1439
old: if (NULL == find_task_by_pid...
new: /*if (NULL == find_task_by_pid...

line 1441
old: } else {
new: } else {*/

line 1453
old: }
new: //}

6) Save and exit. In the terminal try again "sudo make". This time it should compile fine, if it does, then execute:
sudo make install
sudo depmod -a
modprobe fcdslsl

7) Enter:
sudo capiinit
It didn't work for me, something about fdssbase.bin, the firmware, not being found. It's in /usr/share/isdn/<kernel> but capiinit strangely won't work until you've copied it to /usr/share/isdn, don't ask me why.

8) Now the following should work:
sudo capiinit
sudo drdsl

9) The rest is as usual, you need a file in /etc/ppp/peers for your provider, and you have to "pon" this provider later to establish the connection.

I release a tool called "patch" has been invented, I'll work on getting this mess here clean up and who knows, maybe even packaged in a neat DEB. I have to learn how to do this first though. Hope this helps... I'm typing this online on my brand new Intrepid!

ManuPeng (mvieuxmaire) wrote :

Made a patch for file driver.c in the fcdsl source directory. It's quick and dirty, it's only purpose is to get you through the compilation errors, the maintainers will have to deep fix the code for the long term. See attachment

ManuPeng (mvieuxmaire) wrote :

Made a patch for file driver.c in the fcdsl source directory. It's quick and dirty, it's only purpose is to get you through the compilation errors, the maintainers will have to deep fix the code for the long term. See attachment

djmaze (maze) wrote :

The following German article describes building the module from SuSE drivers:

lptr (ubusamma) wrote :

Having the same here while using 'capiinit' but with 64 Bit 8.04 Server LTS!

# cat /proc/version
Linux version 2.6.24-23-server (buildd@vernadsky) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP Mon Jan 26 00:55:21 UTC 2009

This is a testmachine where I installed Fritz! under 32 bit 8.04.02, before. There all is working perfectly. I was somewhat irretated when I searched after first boot with dmesg for fcpci. I got with 64 Bit version this lines:
$ dmesg |grep "fcpci"
[ 32.306490] hisax_fcpcipnp: Fritz!Card PCI/PCIv2/PnP ISDN driver v0.0.1
[ 34.797305] HiSax: Card 1 Protocol EDSS1 Id=fcpcipnp0 (0)
[ 34.797329] hisax_fcpcipnp: found adapter Fritz!Card PCI v2 at 0000:03:01.0

compared to this output from 32 Bit:
$ dmesg |grep "fcpci"
[ 35.640515] fcpci: module license 'Proprietary' taints kernel.
[ 35.649508] fcpci: AVM FRITZ!Card PCI driver, revision 0.7.2
[ 35.649510] fcpci: (fcpci built on Jan 3 2009 at 16:50:41)
[ 35.649511] fcpci: -- 32 bit CAPI driver --
[ 35.649549] fcpci: AVM FRITZ!Card PCI found: port 0xec00, irq 16
[ 35.649551] fcpci: Loading...
[ 35.649553] fcpci: Driver 'fcpci' attached to fcpci-stack. (152)
[ 35.880079] fcpci: Stack version 3.11-07
[ 35.946884] kcapi: Controller [001]: fcpci-ec00-16 attached
[ 35.946886] kcapi: card [001] "fcpci-ec00-16" ready.
[ 35.946921] fcpci: Loaded.
[ 36.088835] hisax_fcpcipnp: Fritz!Card PCI/PCIv2/PnP ISDN driver v0.0.1
[ 36.088841] sysfs: duplicate filename 'fcpci' can not be created
[ 36.088880] [<f88a602b>] hisax_fcpcipnp_init+0x2b/0x5e [hisax_fcpcipnp]
[ 36.088909] kobject_add failed for fcpci with -EEXIST, don't try to register things with the same name in the same directory.
[ 36.088927] [<f88a602b>] hisax_fcpcipnp_init+0x2b/0x5e [hisax_fcpcipnp]

I knew something is wrong.

Because I am no specialist: Pls, can anyone tell me if the description for Intrepid is also valid for 8.04?


Gunni (fgunni) wrote :

fcpci is also not there in jaunty.
Had to install it by hand from the sources.

Gunni (fgunni) wrote :

Oh, and additionally, i think its a linux-restricted-modules problem, as that was the place of the modules till hardy.

lptr (ubusamma) wrote :

yes, indeed:
$ apt-get install linux-restricted-modules

and fcpi was back.

Christian Weiske (cweiske) wrote :

On jaunty, installing linux-restricted-modules did not help at all. I had to install it by myself.
The next issue after installing it by hand was that there were no B channels listed as active:

BChannels: 0
Global Options: 0x00000000
B1 protocols support: 0x00000000
B2 protocols support: 0x00000000
B3 protocols support: 0x00000000

The solution came as I found that had a link to a avm capi driver on rapidshare which fixed the issue. The Fritz card pci works now.

Rolf Leggewie (r0lf) wrote :

I never fail to be surprised by the amount of random crap off the internet (and dubious sites such as raphidshare to boot!) that people are willing to install on their computers without second thought

Yes, Christian, you're living very dangerously.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers