Mani digitālie lauki

Emuārs par darbiem, nedarbiem u.c. lietām, kuras gribas publiski pierakstīt.
en lv

VirtualBox un USB to Serial iekš Linukša Ubunta

Šad tad sagadās, ka vajag “atkodēt” kādu vecu rāciju (tās visumā mēdz būt par kārtu labāks risinājums, kā mūsdienu lētie čainas produkti). Arī mūsdienu čainas brīnuni dažkārt programmējas ar diezgan eksotiskiem programu rīkiem. Tad nu gadās ka vajag vecu windozi nu vismaz kādu WinXP.

Turēt atsevišķu vecu datoru negribas - aizņem vietu. Atsevišķi palaižamu instalāciju uz esošā Linukša var, bet mazāk ērti - vienlaicīgi nepastrādāsi. Tad nu paliek Wine vai kāds virtualās mašīnas rīks. Wine ir izmanots un pat dažkārt tīri veiksmīgi, bet dažkārt ne visai. Un pats galvenais - man līdz šim nav sanācis to piespiest darboties ar seriālajiem portiem.

Tā nu virtulā mašīna sanāk vislabākais variants un tā darbojas arī ar “USB to Serial” pārveidotājiem.

Dotajā gadījumā izmantoju uz Linux Ubuntu 18.04 VirtualBox virtuālo mašīnu.

Ir gan dažas nianses, kas jāievēro, lai tas darbotos:

Ja šamā nav tad uzinstalējam:

1) Ja VirtualBox nav, tad uzinstalējam:

sudo apt install virtualbox

2) Šīnī solī varam uzinstalēt WinXP izmantojot savu legālo WinXP diska .img failu, vai norādot uz diskiekārtu. Kā to izdarīt - jautājiet Pīlei. To gan var darīt arī vēlāk.

3) Ja gribam darboties ar “USB to Serial” pārveidotāju, tad mums vajadzēs arī VirtualBox Extension Pack:

sudo apt install virtualbox-ext-pack

4) Ja gribam tikt caur virtual box pie savām USB ierīcēm, tad vajag arī šo (piederību vboxusers grupai):

sudo usermod -a -G vboxusers $USER

5) Pievienojam savu USB2Serial pārveidotāju datoram un paskatamies, vai varam to ieraudzīt ar:

lssub

Ja nu rodas šaubas, vai ir vai nav - var augšminēto komandu atkārtot pirms/pēc pārveidotāja pievienošanas datoram. Mums vajadzētu ieraudzīt kaut ko sekojošu:

usermy@usermy-desktop:~$ lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 413c:2111 Dell Computer Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 004: ID 0d8c:0014 C-Media Electronics, Inc. 
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 03f0:a407 Hewlett-Packard 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Mums vajadzīgā rindiņa ir šī:

Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

6) Iekš VirtualBOX Manager atveram atbilstošās virtuālās mašīnas USB iestatījumus (Settings->USB) un pārliecinamies, ka ir ieslēgts Enable USB Controller un ticami, ka izvēlamies vismaz USB 2.0 (EHCI) Controller.

VirtualBox USB settings

7) Šeit pat pievienojam USB Device Filters filtru izmantojot atbilstošo podziņu labajā malā. Nosaukumu varam izvēlēties brīvi, bet Vendor ID un Product ID aizpildam ar vērtībām, ko ieguvām 5.-tajā solī. T.i. tās ir tās divas virknes pēc ID, kas atdalītas ar kolu un dotajā gadījumā tie ir 067b un 2303. Pārējos filtra lauciņus var atstāt tukšus vai nemainītus.

USB filter settings

8) Tagad, palaižot WinXP virtuālo mašinu un pievienojot USB2Serial pārveidotāju, parādīsies standarta WinXP uzaicinājums, ka ir atrasta jauna USB ierīce un tai nepieciešams pievienot draiveri. Tad nu izvēlamies mums piemērotāko veidu. Beigās varam pārbaudīt caur WinXP Device Manager, vai un uz kādu COM portu pievienotais seriālais ports darbojas.