GNU/Linux >> Znalost Linux >  >> Debian

Debian – Nedaří se vám povolit Uarts na Beaglebone Black?

Krátká a obecná otázka

Používám Debian 9 (Stretch) na Beaglebone Black s jádrem 4.9. Pokusil jsem se postupovat podle pokynů, které jsem našel online, ale zdá se, že jsem dosud nebyl schopen nakonfigurovat zařízení UART. Jak nakonfiguruji své zařízení? Jak mohu odladit/odstranit problémy s konfigurací? Jak mohu ověřit, zda je moje konfigurace správná?

Dlouhá a podrobná otázka

Jsem velmi nový v embedded Linuxu obecně a v Beaglebone konkrétně. Postupoval jsem podle pokynů zde:

  • BeagleBoard.org:Začínáme

Stáhl jsem si nejnovější obrázek „Stretch IoT (bez grafické plochy) pro BeagleBone a PocketBeagle přes microSD kartu“ (konkrétně bone-debian-9.3-iot-armhf-2018-03-05-4gb.img) z nejnovější stránky s obrázky a flashnul jsem Beagleboard z SD karty. Po instalaci jsem byl schopen přistupovat k Beaglebone z mého linuxového desktopu přes sériový-USB kabel – způsobem podobným tomu, co je popsáno v následujícím článku:

  • Jak připojit Beaglebone Black přes sériový port přes USB

Byl jsem schopen použít následující screen příkaz úspěšně:

screen /dev/ttyUSB0 115200

Také se mi podařilo připojit kabel Micro-USB na USB pro připojení přes SSH:

ssh [email protected]

Po připojení k Beaglebone jsem ověřil, že moje verze jádra je Linux beaglebone 4.9.82-ti-r102 . Poté jsem si pročetl několik článků o konfiguraci Beaglebone UART, včetně následujících:

  • Blog Trevor's Electronics:Povolte UART na Element 14 Beaglebone Black rev C

  • StackOverflow:Povolení UART na Beaglebone Black

  • Thing Printer:Cape Manager je zpět, zlato!

  • Flaming Lotus Girls:Beaglebone Black – povolte UART1

  • Billwaa’s Blog:Enable All UART Ports at Boot

  • Tender Love Making(?):Povolení ttyO1 na BeagleBone

  • ELinux:BeagleBoneBlack Debian

Můj závěr byl, že (obecně řečeno) existuje několik různých konfiguračních souborů, které je třeba zkontrolovat, v závislosti na operačním systému a verzi jádra. Ty zahrnovaly následující:

  • /boot/uEnv.txt
  • /boot/uboot/uEnv.txt
  • /etc/default/capemgr
  • /media/BEAGLEBONE/uEnv.txt

Bylo také zmíněno několik souborů zařízení, jako například:

  • /sys/devices/bone_capemgr.*/slots

Pokusil jsem se přidat každý z následujících řádků do každého z různých uEnv.txt soubory:

  • cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5

  • optargs=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART3,BB-UART5

Také jsem zkusil přidat následující řádek do /etc/default/capemgr :

CAPE=BB-SPI-01,BB-UART1,BB-UART2,BB-UART4

Po restartu jsem pomocí následujícího příkazu zkontroloval, zda se objevila zařízení UART:

ls -l /dev/ttyO*

Bohužel jsem dostal následující (neočekávané výsledky):

[email protected]:~$ ls -l /dev/ttyO*
lrwxrwxrwx 1 root root 5 Jan  1 00:00 /dev/ttyO0 -> ttyS0

POZNÁMKA:Nezajímá mě ttyO0 , ale spíše s ttyO1, ..., ttyO5 .

Zkoušel jsem také několik dalších věcí, ale (v zájmu úspory času a místa) nebudu popisovat každý pokus, pokud o to nebude požádáno.

co tady dělám špatně? Jaký je správný způsob, jak povolit zařízení UART?

Související:Jak povolit dvoufaktorové ověřování v Office 365?

Přijatá odpověď:

Následující funguje pro Debian 9.9 s jádrem 4.14 (fungovalo také s Debianem 8.3, nefungovalo s Debianem 9.3).

Po spuštění do něj uvidíte soubory /dev/ttyO1,O2,O4, ale nebudou fungovat, dokud nenastavíte piny na správný pinmux:

#ttyO1:
config-pin P9_24 uart
config-pin P9_26 uart
#ttyO2:
config-pin P9_21 uart
config-pin P9_22 uart
#ttyO4:
config-pin P9_11 uart
config-pin P9_13 uart

Tento krok musíte provést při každém opětovném spuštění. Patří do nějakého spouštěcího skriptu.

Můžete potvrdit, že UARTy fungují jednoduchým testem zpětné smyčky, např. pro UART4:

  1. Umístěte vodič mezi P9_11 a P9_13

  2. obrazovka /dev/ttyO4

  3. Text, který zadáte do okna, by se měl zobrazit, odpojte kabel a další psaní se již nezobrazí. UART funguje.


Debian
  1. Povolte přihlášení SSH root na serveru Debian Linux Server

  2. Povolit SSH v systému Debian 9 – postup krok za krokem?

  3. Debian – Nedaří se vám povolit Uarts na Beaglebone Black?

  1. Ssh – Jak povolit výměnu klíčů Diffie-hellman-group1-sha1 v Debianu 8.0?

  2. Debian – nelze spustit instalaci Devuan/debian?

  3. Jak povolím v Debianu balíčky, které nejsou zdarma?

  1. Jak povolit SSH na Debianu 9 nebo 10

  2. Jak povolit testování a nestabilní úložiště na Debianu

  3. Jak povolit velké indexy v MariaDB 10 na Debianu 10