Friday, August 24, 2018

One way voice on Huawei E150

By default with E150 local party can listen what talking GSM party, but GSM party listen silence.
E150 require write zero length frame after each 320 bytes 20ms of voice data written. But linux driver named option, nothing know about this E150 'feature'.
Solution is build special versions of option driver and driver for only diagnostic port of E150. The sources of these can be found on https://github.com/Novax/kmod-huawei-voice
Brief instruction for debian and ubuntu: Install git
sudo apt-get install git
Install linux kernel headers for version of your kernel
sudo apt-get install linux-headers-2.6.35-22 
Install sources of kmod-huawei-voice
cd /usr/src
git clone git://github.com/Novax/kmod-huawei-voice.git
Build kernel module
cd kmod-huawei-voice
make
Install module (not fully yet)
/etc/init.d/asterisk stop
rmmod option
insmod ./option.ko
insmod ./huawei_voice.ko
/etc/init.d/asterisk start
Other solution implemented in private chan_dongle and custom patch to option driver.
This working by calling new ioctl for write zero URB to device for 'push' data.
This way allow have E150 and other dongles in one system without colissions.
Note: E150 is USB1.1 and can be working unstable.

No comments:

Post a Comment