Der OBD2 Scanner in OpenWrt

Mit dem Erscheinen von OBD2 (On-Board Diagnostics) in den Fahrzeugen ist eine Vielzahl von diversen Scanners auf den Markt gekommen, welche sich an ein Auto anschließen und in das "Hirn" eines Fahrzeuges hineinsehen lassen. Einige von Euch haben bestimmt versucht Ihren ersten Kline Router selbst zusammenzusetzen, um zu begreifen, warum die Lampe "CHECK ENGINE" auf der Deckplatte aufzuleuchten beginnt. Deshalb glaube ich wird dieser Abschnitt für die Autofahrer mehr interessant, da sie sich sicher früher nicht vorstellen konnte, dass ein Auto mit einem Hausrouter diagnostiert werden kann ))).

Auf der Konfigurationsstufe von OpenWrt sind folgende Module auszuwählen:
Kernel modules:
USB Support:
kmod-usb-serial
kmod-usb-serial-ftdi

Zum Zeitpunkt, als ich diesen Artikel geschrieben habe, hat das Dienstprogramm für OBD2 zum OpenWrt nicht gehört. Deshalb schlage ich vor über das Programm Freediag unter diesem Link zu lesen http://freediag.sourceforge.net/. Es ist zu erwähnen, dass dieses Programm schon lange nicht aktualisiert wurde. Ich weiß nicht, ob ich vielleicht wenig gesucht habe, aber ich hatte den Eindruck bekommen, dass die Linux Ünterstützung von OBD2 nicht genug ist. Ich hoffe aber, dass es keine Probleme mit der Software für Thematik "in einiger Zeit" auch nicht mehr gibt. Also laden wir dieses Programm herunter und bauen sie mittels eines Cross-Compilers.

Starten wir den Router und installieren die Pakete:

root@OpenWrt:/# opkg install kmod-usb-serial-ftdi
Installing kmod-usb-serial-ftdi (2.6.36.2-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-usb-serial-ftdi_2.6.36.2-1_brcm47xx.ipk.
Installing kmod-usb-serial (2.6.36.2-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-usb-serial_2.6.36.2-1_brcm47xx.ipk.
Configuring kmod-usb-serial.
Configuring kmod-usb-serial-ftdi.

Schließen wir den OBD2-Scanner an die Steckstelle für Diagnostik im Auto an. Ein blaues LED ist im Gehäuse vom OBD2-Scanner aufzuleuchten. Schließen wir den OBD2-Scanner an den USB-Port und prüfen die dmesg-Ausgabe:


root@OpenWrt:/# dmesg
ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
ftdi_sio 1-1.3:1.0: device disconnected
usb 1-1.3: new full speed USB device using ohci_hcd and address 6
ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
usb 1-1.3: Detected FT232RL
usb 1-1.3: Number of endpoints 2
usb 1-1.3: Endpoint 1 MaxPacketSize 64
usb 1-1.3: Endpoint 2 MaxPacketSize 64
usb 1-1.3: Setting MaxPacketSize 64
usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0

Der OBD2-Scanner hat sich als die Einrichtung ttyUSB0 im System definiert.

Starten wir das Freediag. Dem Programm Freediag liegt das Dienstprogramm scantool zugrunde, deshalb starten wir das scantool.

root@OpenWrt:/# ./scantool
scantool: version 0.3
scantool: Type HELP for a list of commands
scantool: Type SCAN to start ODBII Scan
scantool: Then use MONITOR to monitor real-time data
scantool>

Die Dokumentation zum Freediag scantool gibt es sowohl auf der Webseite, als auch im Verzeichnis mit dem Quellcode. Deshalb kann man den verfügbaren Befehlsatz dort finden. Der Befehl scan startet das Scannen.

scantool> scan
Trying SAEJ1850-VPW ... failed!
Trying SAEJ1850-PWM ... failed!
Trying ISO14230_FAST ... Failed to open hardware interface failed!
Trying ISO14230_FAST !ISO9141-2
Connection to ECU established
MIL light OFF, 0 stored DTC(s)

Einen OBD2-Scanner bei uns bestellen:

Сканер OBD2