Temat: sterowniki USB-serial HL-340

Witam , jestem raczej elektronikiem niż informatykiem , a linux to już w ogóle nie moja działka , więc mam problem którego nie mogę rozwiązać .
Otóż mam urządzenie które co 5 minut wysyła raport przez port szeregowy RS-232 ( taki prawdziwy port z napięciami +/- 10V , w urządzeniu jest max202 ). te dane muszę przesłać na zewnętrzny serwer . Jeśli w komputerze stacjonarnym z win7 otworzę dwa okna putty , jedno połączenie serial , drugie tryb raw do zewnętrznego serwera i dane z okna serial przeniosę do okna raw to dane się wysyłają i zapisują na serwerze . Problem z tym że chcę to zrobić automatycznie , przy pomocy routera TP-Link TL-WR1043N/ND v1 ( bo on przecież cały czas pracuje ) z zainstalowanym Gargoyle 1.8.0 . No i żeby nie było łatwo to przez przejściówkę RS232/USB .
Do samej transmisji potrzebny jest program np ser2net ( program zainstalowałem ) ale nie mogę sobie poradzić z instalacją sterowników tej przejściówki , nazywa się ona HL-340 , i jest sprawna bo windows działa z nią prawidłowo próbowałem instalować kmod-usb-serial-ch341 ale mam taki błąd :

opkg install kmod-usb-serial-ch341
ERROR: Dependency kernel (= 3.10.49-1-0114c71ed85677c9c1e4911437af4743) of package kmod-usb-serial-ch341 is installed, but has incompatible version 3.10.49-1-e3712c4fe14d26d5acf89d959de871aa and is marked as 'hold'

znalazłem też inny opis , ściągnąć paczkę ch341_drv.tar.bz2 w dwóch plikach zaremować kilka linii i wykonać MAKE
ale tu też mam błąd :

root@Gargoyle:/tmp/usb_mount/E872-2C48/pliki# sh ins.sh
make -C /lib/modules/3.10.49/build SUBDIRS=/tmp/usb_mount/E872-2C48/pliki modules
make: *** /lib/modules/3.10.49/build: No such file or directory.  Stop.
make: *** [default] Error 2
kmod: usbserial is already loaded
Failed to find tty_ioctl. Maybe it is a built in module ?
Failed to find ch341. Maybe it is a built in module ?

i nie wiem co dalej , bo przejściówka nadal nie zainstalowana

2

Odp: sterowniki USB-serial HL-340

Gargoyle nie kompiluje wszystkich modułów. Więc albo zainstaluj moje gargoyle (1.6.2.2) albo openwrt i uda C się to zainstalować.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: sterowniki USB-serial HL-340

Czy jest to do uruchomienia na innej przejściówce RS232/USB ?, są jeszcze na układach FTDI , np. FT-232 , lub prolific np. PL-2303 . Czy po prostu gargoyle w ogóle tego nie obsłuży ?

4

Odp: sterowniki USB-serial HL-340

Gargoyle domyślnie w ogóle nie kompiluje usb seriala oprócz modułu option i paru innych do modemów. Więc odpowiedź jest taka sama.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: sterowniki USB-serial HL-340

Wgrałem Gargoyle w wersji 1.6.2.2  , zainstalowałem sterownik do przejściówki usb-serial
po wykonaniu cat /proc/bus/usb/devices pokazuje tę przejściówkę:

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=1a86 ProdID=7523 Rev= 2.54
S:  Product=USB2.0-Ser!
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 96mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=02 Driver=ch341
E:  Ad=82(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=1ms

zainstalowałem remserial , uruchamiam go
remserial -d -r ekopulsar.pl -p 2222 -s "9600 raw" /dev/ttyUSB0
( uruchomienie z w/w parametrami wpisałem do /etc/rc.local ) ale nadal nie wysyła danych
zastanawia mnie gdzie i jak się wpisuje parametry portu szeregowego , a jeśli
nigdzie nie wpisuje to na jakich parametrach pracuje port.

6

Odp: sterowniki USB-serial HL-340

"9600 raw" <- właśnie tu wpisałeś parametry portu szeregowego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: sterowniki USB-serial HL-340

No bo tak miałem w przykładzie stosowania remserial ( taki przykład podaje autor programu na http://lpccomp.bc.ca/remserial/ ), ale parametrów portu szeregowego jest więcej  , w windowsie jest to np. 9600N81 , jak parametry się nie zgadzają to port szeregowy ich nie rozumie , więc nie wiem czy urządzenie wysyłające dane ma takie same parametry jak odbierające .

8

Odp: sterowniki USB-serial HL-340

Możesz dowolne parametry ustawić na jakie stty pozwala. Masz to w tym linku napisane.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: sterowniki USB-serial HL-340

Witam ponownie , program niby chodzi , niby wysyła , ale druga strona tego nie odbiera ( pewnie zły format danych ) , w sieci jest kilka różnych manuali od stty z różnymi komendami , więc mam inne pytania .
1.czy można w routerze oddzielnie ustawić parametry portu szeregowego i jak ( ustawić 9600 N,8,1 )
czy i jak można podejrzeć to co przychodzi na port szeregowy ( port jest widoczny w systemie jako ttyUSB0 .

10

Odp: sterowniki USB-serial HL-340

Przez stty własnie ustawia się parametry. A podejrzeć możesz zwykłym cat /dev/ttyUSB0

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: sterowniki USB-serial HL-340

Jak pisałem wcześniej jestem elektronikiem nie informatykiem , gdyby przyszedł do mnie sąsiad z dwoma kabelkami i pytaniem jak to polutować to bym je po prostu polutował a nie robił mu rebusy typu idź do sklepu , kup lutownicę  kup cynę włącz lutownicę do prądu.... itd . Zapytałem jak ustawić port ttyUSB0 na parametry 9600 N,8,1 , a dostałem odpowiedź w postaci zagadki . jak wpiszę w konsoli stty to mam nie rozpoznaną komendę m jak wpiszę cat /dev/ttyUSB0 to ekran się czyści i co jakiś czas komputer robi beep i nic więcej .

12

Odp: sterowniki USB-serial HL-340

stty -F /dev/ttyUSB0 9600

Nie ma domyślnie w systemie stty tak samo jak 1500 innych poleceń - musisz to sobie doinstalować. ser2net  też nie ma i musiałeś doinstalowąć.

Jeżeli interfejs nie wysyła znaków ascii tylko dane binarne to żadnym programem typu terminal nie zobaczysz. Nie wiem czy znajdziesz w openwrt jakiś program który binarnie to pokaże. A że beepa to znaczy że akurat przyszedł kod odpowiadający takiemu zachowaniu - więc coś tam leci na nim.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: sterowniki USB-serial HL-340

a skąd wziąć stty ?

root@Gargoyle:~# opkg update
Downloading package list for attitude_adjustment source...
Package list for attitude_adjustment downloaded successfully.

Downloading package list for eko1 source...
Package list for eko1 downloaded successfully.

Downloading package list for gargoylepl_plugins source...
Package list for gargoylepl_plugins downloaded successfully.

Downloading package list for lista source...
Package list for lista downloaded successfully.

Downloading package list for gargoylepl_packages source...
Package list for gargoylepl_packages downloaded successfully.

root@Gargoyle:~# opkg install stty
ERROR: No package named stty found, try updating your package lists

root@Gargoyle:~#

14

Odp: sterowniki USB-serial HL-340

opkg list | grep stty

I wiesz że masz zainstalować coreutils-stty

opkg install coreutils-stty

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: sterowniki USB-serial HL-340

Poinstalowałem wszystko , niby działa , ale nie do końca , podejrzewam że nadal jest jakiś problem z ustawieniami portu szeregowego . Router wysyła jakieś dane na zewnętrzny serwer , i nawet ilość bajtów się zgadza , ale te dane nie są przez ten serwer rozpoznawane . Także czytanie ich przez cat /dev/ttyUSB0 nie daje rezultatu ( zarówno na routerze , jak i na laptopie z xubuntu przychodzą śmieci ) chociaż dane są tekstowe w postaci kodów ASCII ( putty na komputerze z win7 widzi je prawidłowo , dokładnie tak jak wysyła to urządzenie będące źródłem raportu - sterownik na atmega64 z programem napisanym w BASCOMie ) tylko putty na win7 po prostu ustawiam na 9600 N81 , a stty ma różne parametry których nie rozumiem , sprawdzając ustawienia portu przez stty -F /dev/ttyUSB0 mam odpowiedź:
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
tak jakby ustawienia portu szeregowego były inne niż wymagane ( skoro cat /dev/ttyUSB0 też nie pokazuje poprawnych danych , a putty na win7 pokazuje ) ale nie wiem jak to ustawić .

16 (edytowany przez p.manski 2016-02-20 16:02:26)

Odp: sterowniki USB-serial HL-340

Rozwiązałem problem , ale przyczyna była inna niż myślałem , może innym się przyda , otóż problemem była sama przejściówka USB-RS232 , lub jej sterownik pod linuxa w routerze ( bo pod win7 całość działa prawidłowo ) , odinstalowałem sterownik ch341 , odłączyłem przejściówkę na układzie ch340 , i podłączyłem przejściówkę na układzie PL2303+MAX232 , zainstalowałem sterownik do PL2303 i na tej drugiej przejściówce całość działa prawidłowo  smile , widocznie sama przejściówka na układzie ch340 lub jej sterownik zmienia sobie jakieś parametry transmisji , czego nie widać w systemie , a nie działa prawidłowo . Cóż przejściówka z ch340 tania była ... ( 5 zł + przesyłka ) a tę na PL2303 sam skleciłem z kabla od nokii ( mogę jeden sprezentować ) i układu MAX232 ( choć nie jestem pewien czy MAX232 jest potrzebny , czy sam PL2303 nie wystarczy )

Edit -> doczytałem się , sam PL2303 nie wystarczy , musi być jeszcze konwerter poziomów UART-SERIAL czyli TTL-RS232 , na układzie MAX232 , MAX202 lub podobnym.