![]() |
The new Asterisk 1.4 is available in the feedsipkg install asterisk HFC-S USBAs I want to connect a HFC-S USB ISDN adapter to my slug, I stumbled across several things: HFC-S USB hardware:
The following table is aggregated from the hfcs-usb misdn driver
The Winbond Draytek miniVigor128 (unusable for misdn) looks like this (according to /proc/bus/usb/devices)
The current mISDN driver isn't tested on big endian machines and it won't even recognize your adapter once you plug it. I've build a bitbake file for OpenEmbedded, and posted it to the OE bugtracker you get the bitbake and endian-patches from there. It will build the needed kernel modules. The problem until today is, that you need the common kernel CAPI support. $ grep ISDN openembedded/packages/linux/openslug-kernel-2.6.12.2/defconfig
I will try to talk the openslug guys into enabling this, so that the produced mISDN modules do work on your slug. Until then you have to build your own CAPI modules. The next step is to get mISDNuser working. There are several issues with headerfiles, for example the bitops.h from kernel headers does include several bit operation macros on x86 but not on ARM, I don't really know why. It loads fine on my slug (dmesg after modprobe hfcsusb debug=0): Modular ISDN Stack core $Revision: 1.25 $ mISDNd: kernel daemon started mISDNd: test event done CAPI Subsystem Rev 1.1.2.8 mISDN Capi 2.0 driver file version 1.14 hfcsusb driver Rev. 1.5 (debug=0) HFC-S USB: probing interface(0) actalt(0) minor(0) mISDN_hfcsusb: probe of 3-1:1.0 failed with error -5 HFC-S USB: probing interface(1) actalt(0) minor(0) HFC-S USB: detected "Billion tiny USB ISDN TA 128" HFC-S USB: Endpoint-Config: 3 Interrupt IN + 3 Isochron OUT (if=1 alt=2) hfcsusb_1 wants TE Mode HFC-S USB: starting intr IN fifo:5 HFC-S USB: starting intr IN fifo:1 HFC-S USB: starting intr IN fifo:3 HFC-S USB: starting ISO-chain for Fifo 4 HFC-S USB: starting ISO-chain for Fifo 0 HFC-S USB: starting ISO-chain for Fifo 2 HFC-S USB: probing interface(0) actalt(0) minor(0) HFC-S USB: no valid vendor found in USB descriptor mISDN_hfcsusb: probe of 2-1:1.0 failed with error -5 usbcore: registered new driver mISDN_hfcsusb ISDN L1 driver version 1.11 ISDN L2 driver version 1.20 mISDN: DSS1 Rev. 1.30 kcapi: Controller 1: mISDN1 attached kcapi: card 1 "mISDN1" ready. This is on a TurboSlug (266MHz): slung*CLI> show translation
Translation times between formats (in milliseconds)
Source Format (Rows) Destination Format(Columns)
g723 gsm ulaw alaw g726 adpcm slin lpc10 g729 speex ilbc
g723 - - - - - - - - - - -
gsm - - 14 14 55 17 13 170 - - 2297
ulaw - 42 - 1 43 5 1 158 - - 2285
alaw - 42 1 - 43 5 1 158 - - 2285
g726 - 82 42 42 - 45 41 198 - - 2325
adpcm - 44 4 4 45 - 3 160 - - 2287
slin - 41 1 1 42 4 - 157 - - 2284
lpc10 - 268 228 228 269 231 227 - - - 2511
g729 - - - - - - - - - - -
speex - - - - - - - - - - -
ilbc - 495 455 455 496 458 454 611 - - -
As you can see, ilbc and lpc10 are floating point based and not usable on a slug as long as you don't recode these codecs in a fixed point way due to the lack of a floating point unit :-) Questions: - Is this working fully functional with a HFC-S adapter? - Where can we get a kernel with ISDN and the HFC-S module? |