Portál AbcLinuxu, 10. května 2025 06:53
usb 1-3: new full speed USB device using ohci_hcd and address 3 usb 1-3: configuration #0 chosen from 1 choice usb 1-3: config 0 descriptor??Výpis cat /proc/bus/usb/devices:
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=18ec ProdID=3118 Rev= 0.01 S: Manufacturer=ARKMICRO S: Product=USB TO IRDA C:* #Ifs= 1 Cfg#= 0 Atr=80 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=1ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0msVýpis lsusb, tučně jsem zvýraznil adaptér:
Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 003: ID 18ec:3118 Bus 001 Device 001: ID 0000:0000Tak opravdu nevím. V krabici je malý český návod k instalaci a je tu i v podporovaných OS uveden linux 2.4 a vyšší. Zajímavé je, že na krabičce je štítek s udáním názvu Infra port Aligator mini, který by měl pod linuxem dle různých diskuzí fungovat. Nicméně tento výrobek je od firmy Gembird a označen jako UI-22. Dle výpisu cat... je to manufacturer=ARKMICRO. Ať hledám, tak hledám po internetu, zmínku o tom, zda lze či nelze zprovoznit v linuxu ani čárku. Byl bych rád za každou informaci, zda adaptér vrátit nebo nějakým způsobem rozhejbat.
bash# lsusb ... Bus 003 Device 003: ID 0df7:0620 Mobile Action Technology, Inc. MA-620 Infrared Adapter --- Networking support Networking options ---> [ ] Amateur Radio support ---> <M> IrDA (infrared) subsystem support ---> <M> Bluetooth subsystem support ---> < > Generic IEEE 802.11 Networking Stack --- IrDA (infrared) subsystem support --- IrDA protocols < > IrLAN protocol <M> IrCOMM protocol [ ] Ultra (connectionless) protocol --- IrDA options [ ] Cache last LSAP [ ] Fast RRs (low latency) [ ] Debug information Infrared-port device drivers ---> Infrared-port device drivers ---> --- SIR device drivers <M> IrTTY (uses Linux serial driver) --- Dongle support [*] Serial dongle support < > ESI JetEye PC dongle < > ACTiSYS IR-220L and IR220L+ dongle < > Tekram IrMate 210B dongle < > TOIM3232 IrDa dongle < > Parallax LiteLink dongle <M> Mobile Action MA600 dongle < > Greenwich GIrBIL dongle < > Microchip MCP2120 < > Old Belkin dongle < > ACTiSYS IR-200L dongle --- Old SIR device drivers --- Old Serial dongle support --- FIR device drivers (irda-usb NO) <M> IrDA USB dongles < > SigmaTel STIr4200 bridge (EXPERIMENTAL) < > NSC PC87108/PC87338 < > Winbond W83977AF (IR) Device Drivers ---> USB support ---> USB Serial Converter support ---> <M> USB Serial Converter support [*] USB Generic Serial Driver ... pl2303 <M> USB Prolific 2303 Single Port Serial Driver bash# modprobe sir-dev irtty-sir bash# modprobe pl2303 bash# dmesg | grep "pl2303 converter" pl2303 3-2:1.0: pl2303 converter detected usb 3-2: pl2303 converter now attached to ttyUSB0...bingo V autoload modules mám tohle:
/etc/modules.autoload.d/kernel-2.6: #irda #(uses crc_ccitt) #ircomm #(uses irda) ircomm-tty #(uses ircomm, irda) ##irda-usb # mot suitable for ma620 dongle #sir-dev (uses irda) ma600-sir #(uses sir-dev, irda) irtty-sir #(uses sir-dev) #voila # usbserial # generic #pl2303Některé moduly jsou zakomentované, protože jsou závislé, takže se natáhnou samy. Jsou tam jen pro ilustraci, aby bylo vidět, že to je parádní propletenec :)
irda-usb
ač má slibný název nepoužívám.
Nakonec pl2303 jsem myslím také zavrhl, nějak to funguje i bez toho :)
modprobe irda modprobe stir4200 modprobe ircomm modprobe ircomm_tty irattach irda0 -s # irdadump # Nokia 6070 gnokii --identify # ... a dalej to stiahnut pomocou gnokii # Nokia 6100 gammu --identify # ... a dalej to stiahnut pomocou gammuMne islo iba o odzalohovanie phoneboookov, takze klikatka som nerozchadzal. gnokii nefungovalo s N.6100 a gammu nechodilo s N.6070.
cat /etc/gammurc: [gammu] port = /dev/ircomm0 connection = irda
cat /etc/gnokiirc [global] port = /dev/ircomm0 model = 6510 irda_string = Nokia 6070 initlength = default connection = irda use_locking = yes serial_baudrate = 19200 smsc_timeout = 10 [gnokiid] bindir = /usr/sbin/ [connect_script] TELEPHONE = 12345678 [disconnect_script] [logging] debug = on rlpdebug = off xdebug = off
modprobe sir_dev modprobe irtty-sir irattach /dev/ttyUSB0 -s -d ma600Přenosová rychlost je u tohoto zařízení v linuxu pouze 9600 bps. Tyto změny jsem provedl podle odkazu http://www.abclinuxu.cz/hardware/pripojeni-na-sit/irda/ma-620. Mám Nokii 6070 a infraport funguje jak v gnokii tak v gammu.
--- linux-2.6.30-orig/drivers/usb/serial/ark3116.c 2009-07-19 19:21:54.000000000 +0200 +++ linux/drivers/usb/serial/ark3116.c 2009-07-26 13:58:04.000000000 +0200 @@ -31,6 +31,7 @@ static struct usb_device_id id_table [] = { { USB_DEVICE(0x6547, 0x0232) }, + { USB_DEVICE(0x18ec, 0x3118) }, /* USB to IrDA adapter */ { }, }; MODULE_DEVICE_TABLE(usb, id_table); @@ -83,7 +84,7 @@ { char *buf; struct ark3116_private *priv; - int i; + int i, irda; for (i = 0; i < serial->num_ports; ++i) { priv = kzalloc(sizeof(struct ark3116_private), GFP_KERNEL); @@ -100,11 +101,21 @@ goto cleanup; } + irda = le16_to_cpu(serial->dev->descriptor.idProduct) == 0x3118; + if (irda) + dbg("IrDA mode"); + /* 3 */ ARK3116_SND(serial, 3, 0xFE, 0x40, 0x0008, 0x0002); ARK3116_SND(serial, 4, 0xFE, 0x40, 0x0008, 0x0001); ARK3116_SND(serial, 5, 0xFE, 0x40, 0x0000, 0x0008); - ARK3116_SND(serial, 6, 0xFE, 0x40, 0x0000, 0x000B); + ARK3116_SND(serial, 6, 0xFE, 0x40, irda ? 0x0001 : 0x0000, 0x000B); + + if (irda) { + ARK3116_SND(serial, 1001, 0xFE, 0x40, 0x0000, 0x000C); + ARK3116_SND(serial, 1002, 0xFE, 0x40, 0x0041, 0x000D); + ARK3116_SND(serial, 1003, 0xFE, 0x40, 0x0001, 0x000A); + } /* <-- seq7 */ ARK3116_RCV(serial, 7, 0xFE, 0xC0, 0x0000, 0x0003, 0x00, buf); @@ -141,6 +152,8 @@ ARK3116_SND(serial, 147, 0xFE, 0x40, 0x0083, 0x0003); ARK3116_SND(serial, 148, 0xFE, 0x40, 0x0038, 0x0000); ARK3116_SND(serial, 149, 0xFE, 0x40, 0x0001, 0x0001); + if (irda) + ARK3116_SND(serial, 1004, 0xFE, 0x40, 0x0000, 0x0009); ARK3116_SND(serial, 150, 0xFE, 0x40, 0x0003, 0x0003); ARK3116_RCV(serial, 151, 0xFE, 0xC0, 0x0000, 0x0004, 0x03, buf); ARK3116_SND(serial, 152, 0xFE, 0x40, 0x0000, 0x0003);
Tak to je skvělé! Můžete, prosím, dát nějak vědět, až(/jestli) se Váš patch dostane do jádra?
Díky!
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.