hur behålla samma USB port till en seriell adapter? (Löst)

hur behålla samma USB port till en seriell adapter? (Löst)

Inläggav Seaotter » fre mar 10, 2017 4:55 pm

Gomiddag,

Hur behåller jag samma USB port när jag kopplar in min usb serial adapter. Jag har två seriella adaptrar som byter port var gång jag pluggar in dem. I vanliga fall gör det mig inget men i programmet jag använder, ett navigationsprogram för båten (OpenCPN), måste jag veta vilken port som skickar ut NMEA 0183 signaler till autopiloten och vilken port som tar emot GPS och AIS signaler. Visst går det att kolla med dmesg | grep tty men det borde kunna gå att ställa in så att en viss port, ex USB1 alltid kopplar ihop sig med NMEA adaptern och den andra USB0 alltid kopplar sig till GPS-en.

Jag har hållit på i 3 dagar nu med sökande på internet och har lärt mig en massa om udev rules och allt sånt, men inget av alla förklaringar fungerar för mig i min laptop. Kan någon komma med en förklaring, i steg, för att lösa min fråga?

Datorn hittar mina adaptrar i "dev" när jag har dem inkopplade. Det blir då en katalog som heter "serial" där kan man se gå vidare via antingen "by-id" eller "by-path" för att finna dem.
Det jag vill ha är att USB-serial adaptern alltid blir ihopkopplad med USB1 och den seriella GPS adaptern-adaptern blir inkopplad på USB0.

Vore tacksam för all hjälp.

Christian
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Jan-Olof » lör mar 11, 2017 1:53 pm

Intressant tillämpning! Vill minnas att jag har läst om en lösning i något äldre nummer av tidningen Datormagazin, http://www.datormagazin.se. Skall se om jag kan hitta den...
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1681
Blev medlem: tis dec 08, 2009 2:07 pm

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Mikael » lör mar 11, 2017 8:36 pm

Kanske inte vad som efterfrågas men:
http://unix.stackexchange.com/questions ... tatic-name
---
LMDE 6 Faye@Mintbox Mini 2 Pro      "from freedom came elegance"
Mikael
Finansiär och Beskyddare
 
Inlägg: 2714
Blev medlem: lör jan 07, 2012 3:29 pm
Ort: Söråker

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Jan-Olof » sön mar 12, 2017 12:24 am

Hittade artikeln jag tänkte på: Datormagazin 2013 nr 14, sid 114, "Håll reda på dina USB-enheter".

Artikeln handlar om trådlösa givare och strömbrytare som ansluts på samma sätt som dina adaptrar. Problemet är att den enhet som svarar först vid start får det lägsta numret, och att de kan svara olika snabbt.

Tanken är då att man, genom att lista innehållet i /dev/serial/by-id/ med ls -l, kan identifiera länken till respektive enhet och sedan lägga in sökvägen och länken i programmet som skall använda enheten.
I det exempel som ges i artikeln blir resultatet (som sedan används istället för USB0):
"/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0"
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1681
Blev medlem: tis dec 08, 2009 2:07 pm

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » sön mar 12, 2017 9:16 am

Mikael skrev:Kanske inte vad som efterfrågas men:
http://unix.stackexchange.com/questions ... tatic-name


Det är artiklar precis som denna jag har följt och försökt göra script efter för att klistra in i etc/udev/rules/plus i någon fil där, antingen en befintlig eller genom att göra en ny fil med ett högt nummer.

Du är inne på rätt väg alltså, men jag kan inte få till det den vägen. Har hittat 10 liknande artiklar med en aning olika tillvägagångssätt, men jag klarar inte av att få till det. Men hittar du andra så hojta till. Tack för hjälpen så länge.

Christian
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » sön mar 12, 2017 9:21 am

Jan-Olof skrev:Hittade artikeln jag tänkte på: Datormagazin 2013 nr 14, sid 114, "Håll reda på dina USB-enheter".

Artikeln handlar om trådlösa givare och strömbrytare som ansluts på samma sätt som dina adaptrar. Problemet är att den enhet som svarar först vid start får det lägsta numret, och att de kan svara olika snabbt.

Tanken är då att man, genom att lista innehållet i /dev/serial/by-id/ med ls -l, kan identifiera länken till respektive enhet och sedan lägga in sökvägen och länken i programmet som skall använda enheten.
I det exempel som ges i artikeln blir resultatet (som sedan används istället för USB0):
"/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0"


Kanonbra Jan-Olof, det är det resultatet jag vill ha, men hur sjutton får man det att fungera, i.e. tillvägagångssättet? I mitt fall behöver jag egentligen bara en port som håller sig till samma seriella kabel, som skall benämnas autopilot istället för USB1. Det är något jag missar på vägen.

Så här ser innehållet ut i min fil som ligger i /etc/udev/rules.d

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTYZWUFI", SYMLINK+="Autopilot"

ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="Autopilot"

två rader om samma sak men de tar i alla fall inte ut varandra.

Sen ser det ut så här när jag kör ls -l

lrwxrwxrwx 1 chrisbea chrisbea 57 mar 10 14:59 {autopilot} -> {dev/serial/by-path/pci-0000:00:1d.7-usb-0:6.3:1.0-port0}

alltid något på vägen, men det gör ingen USB port stabil till min seriella NMEA 0183 adapter. Det är något fundamentalt enkelt på vägen jag hoppar över tror jag.
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Jan-Olof » sön mar 12, 2017 10:07 am

Vad tror du om att skapa en symbolisk länk i /dev, alltså först (med adaptern isatt):
Kod: Markera allt
ls -l /dev/serial/by-id

Markera, högerklicka och kopiera den länk som leder till USB1
och sedan
Kod: Markera allt
cd /dev
sudo ln -s serial/by-id/klistra_in_länken_här autopilot

Försök sedan ansluta programmet till autopilot och se om det hittar adaptern.
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1681
Blev medlem: tis dec 08, 2009 2:07 pm

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » sön mar 12, 2017 11:13 am

Jan-Olof skrev:Vad tror du om att skapa en symbolisk länk i /dev, alltså först (med adaptern isatt):
Kod: Markera allt
ls -l /dev/serial/by-id

Markera, högerklicka och kopiera den länk som leder till USB1
och sedan
Kod: Markera allt
cd /dev
sudo ln -s serial/by-id/klistra_in_länken_här autopilot

Försök sedan ansluta programmet till autopilot och se om det hittar adaptern.


Så här ser det ut med det kommando du beskriver,

Som du ser är en del markerat i blått och den sista delen i gult, vilken är länken?
Bilagor
Screenshot.jpg
Screenshot.jpg (34.24 KiB) Visad 12915 gånger
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Jan-Olof » sön mar 12, 2017 12:38 pm

Det är den blåmarkerade delen du skall kopiera. Jag kan inte se av namnen vilken som är din NMEA-adapter (gissar att det är den första eftersom du nämnde kabel) men jag antar att du vet vilket fabrikat det är.
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1681
Blev medlem: tis dec 08, 2009 2:07 pm

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » sön mar 12, 2017 1:30 pm

Jan-Olof skrev:Det är den blåmarkerade delen du skall kopiera. Jag kan inte se av namnen vilken som är din NMEA-adapter (gissar att det är den första eftersom du nämnde kabel) men jag antar att du vet vilket fabrikat det är.


Det blir en fil i dev, men det funkar i alla fall inte. Så fort startar om eller byter kontakt med kablarna så ändras usb porten.
Nu är det ju inte hela världen, men jag trodde man kunde glömma kolla vilken port autopiloten är ansluten till.

Tack i alla fall för all hjälp. Vi kanske så småningom kommer fram till en gångbar väg.

Christian
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Jan-Olof » sön mar 12, 2017 2:02 pm

Hittar navigationsprogrammet din enhet första gången du ansluter det till autopilot? Länken till enheten borde vara densamma även om enheten får ett annat nummer nästa gång adaptern ansluts.
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1681
Blev medlem: tis dec 08, 2009 2:07 pm

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » sön mar 12, 2017 4:49 pm

Jan-Olof skrev:Hittar navigationsprogrammet din enhet första gången du ansluter det till autopilot? Länken till enheten borde vara densamma även om enheten får ett annat nummer nästa gång adaptern ansluts.


NAV-programmet OpenCPN hittar alltid båda adaptrarna men det hittar bara på USB0 eller US1 eller USB2 om jag har mer att koppla in.

Som du ser på "portvalet" så står det /dev/ttyUSB0 resp /dev/ttyUSB1 vilket man nu pekar på. Man kan fylla i egen länk också men det har inte fungerat för mig det heller. Nu har jag laborerat under dagen med hela mitt register av seriella kopplingar jag har på båten (fast nu hemma i soffan framför brasan). Utgående seriell för NMEA till Autopiloten går fint, kan visserligen koppla in sig lite var den blir sedd först. Sen har jag testat min AIS anläggning ihop med de övriga idag. det blir en ny seriell inkoppling men nu med 38400 baud. Kan man tänka sig att med AIS (Automatic Identifying System = mottager andra båtars position samt sänder egen båts position på haven) transpondern inkopplad som använder sig av ett högre baud tal så lägger sig den seriella NMEA kabeln hela tiden på port 0 och AIS transpondern på USB1. Kanske har det att göra med olika baud tal, eller vad tror du?

AIS systemet har sin egen GPS så jag behöver inte ha den enkla USB GPS-en inkopplad eftersom jag får både min egen och andras position via AIS systemets GPS. Det börjar bli avancerat men roligt för i detta läget är Linux betydligt smidigare och automatiserat jämfört med virussystemet Windows.

Lägger in en länk du kan ladda ner AIS manualen på http://comarsystems.com/wp-content/uploads/2016/04/003-1010-MA-v01r01.pdf
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Jan-Olof » mån mar 13, 2017 12:50 am

Man kan fylla i egen länk också...

Så det fungerar inte om du skriver in /dev/autopilot där?

Tack för länken till manualen!
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1681
Blev medlem: tis dec 08, 2009 2:07 pm

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » mån mar 13, 2017 7:28 am

Jan-Olof skrev:
Man kan fylla i egen länk också...

Så det fungerar inte om du skriver in /dev/autopilot där?

Tack för länken till manualen!


Nej det funkar inte, det är det som är det märkliga. För med ditt förslag bildades faktiskt en fil i dev under alla katalogerna i början som jag då länkade till, men icke. Både Mickael och du är inne på rätt väg, men som jag skrivit tidigare så är det något smått som jag missar, troligtvis något som för andra är helt naturligt. Det kan vara ett mellanrum, ett snedstreck här eller där osv.

Den dag du får tid att ladda ner OpenCPN så gör det. Navigationsprogrammet var först framtaget för Linux men fungerar numera för alla OS. Linux nördarna till sjöss har till och med gjort ett eget specialprogram som heter Navigatrix. Det är ett självständigt OpenCPN med Linux som OS. Alla Linux funktioner finns med.

Hur som helst att kunna integrera Linux med alla system ombord är helt fantastiskt roligt. Önskar bara att jag börjat med Linux tidigare för då hade de 7 åren ombord på Sea Otter kunnat utveckla mitt kunnande för att kunna använda programmet mer under seglingarna. Det är ju inte bara navigering man kan använda Linux till, det finns massor med andra saker programmet kan hjälpa till med. Mycket av de elektriska styrningarna, vattenreningen och andra saker kan skötas av en dator med Linux. Vi hade två datorer ombord, en mest i reserv fast båda med "wirusprogrammet" installerat. På den nuvarande, en Maxi 87:a, finns givetvis både laptop och android klösplatta ombord, elekroniken måste vara med, så lite nörd är man nog i alla fall.

Ha det gott,

Christian
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Re: hur behålla samma USB port till en seriell adapter?

Inläggav Seaotter » mån mar 13, 2017 8:55 am

Jan-Olof skrev:
Man kan fylla i egen länk också...

Så det fungerar inte om du skriver in /dev/autopilot där?

Tack för länken till manualen!


Jan-Olof,

DET FUNGERAR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Min idiot skrev autopilot med stort A medan jag kopierade ditt script där det var litet a. Det var något som inte stämde i det lilla. Tusen tack för som alltid visat tålamod med gubben!

Nu skall jag testa på laptoppen också som jag har i båten normalt.

Ha det gott och tack igen,

Christian
Användarvisningsbild
Seaotter
Ninja
 
Inlägg: 117
Blev medlem: mån apr 15, 2013 12:26 pm
Ort: Bretagne, Frankrike

Nästa

Återgå till Övriga supportfrågor

Vilka är online

Användare som besöker denna kategori: Google [Bot] och 5 gäster