Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: bobo87 08. 10. 2015, 23:13:28
-
Zdravim,
chcel by som sa opytat na nasledovny problem. Pod Ubuntu 14.04, 64bit chcem spravit aplikaciu, ktora pre svoju cinnost vyuziva prevodnik FT232RL. Bezne funguje ako ma, lenze v tejto situacii potrebujem okrem USB-UART prevodu vyuzit aj jeden CBUS pin v bitbang rezime. Z toho vyplyva, ze musim pouzit D2XX driver. Po pripojeni zariadenia sa ale automaticky naloaduje modul ftdi_sio, ktory znemozni pouzitie D2XX ovladaca a musim manualne zadat rmmod ftdi_sio. Nie som jediny, kto ma ten problem a ako najschodnejsie riesenie sa uvadza pridanie noveho pravidla do udev v tvare:
ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6014″, ATTRS{product}==”PRODUCT_NAME”, RUN+=”/bin/sh -c ‘echo $kernel > /sys/bus/usb/drivers/ftdi_sio/unbind’”
Ked vsak nastavim svoj attr product na spravnu hodnotu (co potvrdzuje vypis z udevadm info -a), nepomaha to. Skusal som okrem mena produktu aj vyrobcu/seriove cislo, ale nic, vzdy pomoze az rmmod. Skusal som zbehnut aj udevadm test, vsetky pravidla sa nacitali, no na konci mi zostalo
rules contain 196608 bytes tokens (16384 * 12 bytes), 33736 bytes strings
18777 strings (165390 bytes), 15692 de-duplicated (134740 bytes), 3086 trie nodes used
unable to open device '/sys/dev/bus/usb/002/044'
unload module index
Ma niekto nejaky hint, co robim zle, alebo ktorym smerom patrat? Vopred dakujem za kazdy napad. :)
-
nie je jednoduchsie ten modul zablacklistovat?
-
Nie je, pretoze to potrebujem takto odstavit iba pre toto konkretne zariadenie. Pouzivam aj ine pristroje, ktore maju rovnaky USB VID/PID, ale potrebuju ftdi_sio. Resp. da sa to zablacklistovat podla nejakeho parametra, napr. vyrobcu/serioveho cisla/description?
-
Nie je, pretoze to potrebujem takto odstavit iba pre toto konkretne zariadenie. Pouzivam aj ine pristroje, ktore maju rovnaky USB VID/PID, ale potrebuju ftdi_sio. Resp. da sa to zablacklistovat podla nejakeho parametra, napr. vyrobcu/serioveho cisla/description?
pokial viem, tak takto sa neda blacklistovat.
mozno by este pomohlo upravit poradie nahravania modulov.
-
Mozes skusit utilitkou FT_PROG (http://www.ftdichip.com/Support/Utilities.htm#FT_PROG) zmenit VID/PID (navod, kapitola 5).
Potom tieto ciselka zablacklistuj, a zostava prinutit D2XX aby to zariadenie nasla. Ta prva cast je asi lahka, ta druha netusim.
-
VID/PID by som menit nechcel, to by prinieslo viac problemov, ako pouzitie toho rmmodu. :) Skor ma zaujima, preco mam problem poriesit to cez udev, resp. co je v tom zle.