news:
18.06.2006 - ark3116 driver included in kernel 2.6.17 ->
kernel.org
12.05.2006 - ark3116 driver will be included into the linux kernel (see below)
29.04.2006 - added a faq (scroll down to notes / faq)
29.04.2006 - released v0.4.2: there was another kernel api change - should work with 2.6.16 now
25.04.2006 -
inside pictures online and bad news, read below (supported hardware)
17.04.2006 - released v0.4.1: debug is controlled my module param, changed a lot (see CHANGES)
13.04.2006 - released v0.3b: should compile with newer libusb
11.04.2006 - released v0.3: tested baudrates (150-230400baud ok), 6N1,7N1,8N1 tested
09.04.2006 - released v0.2: added support for data bit, parity and stop bit
08.04.2006 - initial version, released v0.1
ark3116 driver has been added to the 2.6.x kernel tree
Thanks to greg k-h for making a kernel patch and adding the driver to the linux kernel tree :)
The driver is included in linux >=2.6.17 and should
be available in all later versions.
You can find the option to build the module inside the usb serial submenu. (make sure to enable experimental driver support)
supported hardware:
- mobile phone data cable KQ-U8A (S/N WT048000317)
- hugepine usb 2 serial cable
- should work with any usb2serial cable that uses an arkmicrochips ark3116s chip
lsusb -v output:
Bus 002 Device 078: ID 6547:0232
Device Descriptor:
...
idVendor 0x6547
idProduct 0x0232
bcdDevice 0.01
iManufacturer 1 ArkMicroChips
iProduct 3 USB-UART Controller
...
bad news:
The hugepine cable DOES NOT support setting/reading of any modem control lines!
The simply connected RTS<->CTS (pin 7+8) and DTR<->DSR(pin 4+6)...
But it seems like my cellular phone cable has something like control lines.
at least i can read out if they are connected to gnd (pins 5 and 10 as seen
here)
pins
thanks to krisfx for posting his initial version
here
thanks to erik for his Makefile patch & some ideas
thanks to ronan for sending me the hugepine cable
usage & install:
1) extract source file to /usr/src
2) make sure a recent 2.6.x kernel is present at /usr/src/linux (we will need the usbserial.* files!)
3) cd to /usr/src/ark3116
4) make
5) insmod ark3116
[ If you want debug messages with version >=0.4.1 load it by
insmod ark3116.ko debug=1 ]
There should be a new serial port called /dev/ttyUSBx (ttyUSB0 for example)
notes / faq:
Q: the driver does not compile. It cant find usb-serial.h ?!
A: Make sure you have a recent kernel sourcecode in /usr/src/linux (>=2.6.15!)
Q: i use linux kernel 2.4.x - are thera any plans to backport the driver ?
A: no i dont think i will backport it. upgrade to 2.6.x ;)
Q: i am using kernel >2.6.16 and the driver does not compile. any ideas ?
A: Because things are changing so fast in the 2.6.x kernel i can not
guarantee if the driver works for the latest version!
Driver version = 0.4.2 should work with kernel 2.6.16 (maybe > 2.6.16)
Driver version < 0.4.2 should work with kernel 2.6.15
Q: i am using it on a multiprocessor kernel (SMP) or ARM and i get a kernel oops when using the driver. why ?
A: I received reports that the driver causes a kernel ooops if running on x86 multiprocessor kernels (SMP) and also on ARM machines.
I do not really know what is causing this, the driver works fine under singleprocessor x86 kernels.
Q: the parity & stop bit selection does not work. what should i do ?
A: I did not test this. please send me a bug report !