Skip to content

FTDI Support (ayufan Kernel 5.0)

Ungelöst Probleme?
  • Hallo zusammen,

    ich nutze einen RockPro64 zur Astrofotografie und hatte Probleme mit meiner Kamera am USB 3.0 Port weswegen ich vom standardmäßigen Kernel 4.4.190 auf Kernel 5.0 umgestiegen bin (aktuell 5.0.0-1092-ayufan-g58b7aac480ae), usprünglich installiert mit dem Image bionic-mate-rockpro64-0.9.14-1159-armhf.img

    Nun habe ich ein USB-Device das sich wie folgt per lsusb meldet:

    Bus 007 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
    

    leider bekomme ich keine Verbindung hin, denn es gibt offenbar keine passenden Treiber und auch das ftdi_sio Modul ist nicht vorhanden.
    modprobe meldet:

    modprobe: FATAL: Module ftdi_sio not found in directory /lib/modules/5.0.0-1092-ayufan-g58b7aac480ae
    
    

    und dmesgsagt meldet beim anschließen:

    usb 7-1: new full-speed USB device number 3 using xhci-hcd
    

    Wie kann ich es hinbekommen, dass das Gerät erkannt wird?

    Gruß und Danke,
    Dominik

  • Was macht?

    /sbin/modprobe ftdi_sio
    
  • hallo,
    da hilft eigenen kernel bauen. ist nicht so schwer, das netz ist voll mit infos dazu.
    gruß

  • Man kann Kamil auch bitten, das Modul in den Kernel einzubauen. Das hat es schon öfter mal gemacht. Fragen kostet nichts 😉

  • das macht uns alle zu Astrofotografen, hurra 🙂

  • Wenn ich mir das hier mal auf meinem NAS anschaue, dann finde ich as Modul

    root@rp64v_2_1_NAS:/lib/modules/4.4.138-1094-rockchip-ayufan-gf13a8a9a4eee/kernel/drivers/usb/serial# ls -lha f*
    -rw-r--r-- 1 root root  19K Aug  9  2018 f81232.ko
    -rw-r--r-- 1 root root 136K Aug  9  2018 ftdi_sio.ko
    

    Ist uralt der Kernel, ich fahre da normalerweise einen 5er. Das aktuelle Image mal eben lokal eingehangen.

    root@debian:/media/frank/linux-root/lib/modules/4.4.190-1233-rockchip-ayufan-gd3f1be0ed310/kernel/drivers/usb/serial# ls -lha f*
    -rw-r--r-- 1 root root  19K Aug 28 11:00 f81232.ko
    -rw-r--r-- 1 root root 136K Aug 28 11:00 ftdi_sio.ko
    

    Ich bin da jetzt vorsichtig, bin nicht der Experte für Module 🙂 Das müsste in meinen Augen funktionieren. Im 5er Kernel habe ich das Modul nicht gefunden.

  • Hi, ich habe Kamil mal angeschrieben, ob er das in einem Update einbauen könnte. Benötige das auch für meine Arduinos. Laufe derzeit noch auf dem 4.4., aber würde auch gerne mal den 5er Kernel ausprobieren.
    Gruss

  • Hi, leider habe ich bisher keine Antwort von Kamil erhalten. So habe ich selbst mal einen Kernel kompiliert. Als Vorlage habe ich den Ayufan 5.3 rc4 1118 genommen. Also gleiche config nur zusätzlich den FTDI und den CH341 (Arduino clones) Treiber hinzugefügt. Könnt ihr ja mal bei Lust und Laune testen. Für meine Zwecke funktioniert er gut.
    Gruss
    https://drive.google.com/file/d/1kJarihL7bAqN9y6tK-m1V4zHCSEiEWtf/view?usp=sharing

  • linux-mainline-u-boot

    Angeheftet Images
    2
    0 Stimmen
    2 Beiträge
    380 Aufrufe
    FrankMF

    2020.01-ayufan-2014-gff2cdd38 released

    ayufan: rockchip: allow to boot scsi4, as JMS585 can have 5 drives
  • Image 0.9.16 - Kurztest

    ROCKPro64
    5
    0 Stimmen
    5 Beiträge
    388 Aufrufe
    FrankMF

    Kurzer Test, ok ist was länger geworden 🙂 Mit Debian Buster Minimal habe ich es nicht hinbekommen 😞 Das soll aber nicht heißen, das es nicht geht. WLan auf der Konsole ist nicht meine Stärke. Ok, dann Desktop.

    bionic-mate-rockpro64-0.9.16-1163-armhf.img.xz

    Installiert, kurz WLan 5G aktiviert, eingeloggt. Netzwerkkabel entfernt. Firefox angeworfen, Rammstein Viedo in 1080p angeworfen. Läuft alles einwandfrei.

    b834128c-30c3-43cd-ba43-b69b41783b57-grafik.png

    Und PCIe NVMe SSD geht auch 😉

    Das Desktop System ist mittlerweile richtig gut zu benutzen. Aber ich bin verwöhnt, mir ist das immer viel zu langsam. Das soll aber niemanden davon abhalten, sich das mal anzusehen. Je nach Einsatzzweck sicherlich interessant.

  • Mainline 5.4.x

    Images
    2
    0 Stimmen
    2 Beiträge
    346 Aufrufe
    FrankMF

    Bootet bei mir weder von USB3-SSD noch von SD-Karte.

    USB3-SSD -> https://pastebin.com/QAS92sme
    SD-Karte -> https://pastebin.com/Bsr3WLJ7

  • NAS Gehäuse für den ROCKPro64

    Verschoben Hardware
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    FrankMF
    POWER-LED

    Die LEDs werden mit 3,3 Volt versorgt. Das ist jetzt recht einfach 😉

    POWER LED + / Pi2-Connector Pin 1 (3,3V) POWER-LED - / Pi2-Connector Pin 9 (GND)

    Pi2-Connector

    0_1537358092990_IMG_20180919_134656_ergebnis.jpg

    0_1537358113178_IMG_20180919_134731_ergebnis.jpg

  • ROCKPro64 - Reset & Power Taster (extern)

    Hardware
    1
    0 Stimmen
    1 Beiträge
    646 Aufrufe
    Niemand hat geantwortet
  • Unterstützung Lüfter

    ROCKPro64
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    FrankMF

    Mit dem neuen Release hatte jemand das mal ausprobiert -> https://forum.frank-mankel.org/topic/795/fan-control-omv-auyfan-0-10-12-gitlab-ci-linux-build-184-kernel-5-6/6

    Dieser Kernel kam zur Anwendung

    Linux rockpro64 5.6.0-1137-ayufan-ge57f05e7bf8f #ayufan SMP Wed Apr 15 10:16:02 UTC 2020 aarch64 GNU/Linux

    Dort stellt man dann fest, das sich eine Kleinigkeit geändert hat. Der Pfad und der Dateiname hat sich geändert.

    Kontrollieren kann man das mit

    nano /sys/devices/platform/pwm-fan/hwmon/hwmon3/pwm1

    Der Wert geht von 0 - 255, wie gehabt.

  • ROCKPro64 - Der Bootvorgang

    Verschoben Hardware
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF

    Um einen neuen Kernel booten zu können, brauche ich diese 4 Dateien unter /boot

    config-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 System.map-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06

    Und den Ordner /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 mit folgendem Inhalt

    rock64@rockpro64v2_0:/boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06$ ls -la total 104 drwxr-xr-x 26 root root 4096 Sep 30 09:54 . drwxr-xr-x 6 root root 4096 Sep 30 09:55 .. drwxr-xr-x 2 root root 4096 Sep 30 09:54 al drwxr-xr-x 2 root root 4096 Sep 30 09:54 allwinner drwxr-xr-x 2 root root 4096 Sep 30 09:54 altera drwxr-xr-x 2 root root 4096 Sep 30 09:54 amd drwxr-xr-x 2 root root 4096 Sep 30 09:54 amlogic drwxr-xr-x 2 root root 4096 Sep 30 09:54 apm drwxr-xr-x 2 root root 4096 Sep 30 09:54 arm drwxr-xr-x 4 root root 4096 Sep 30 09:54 broadcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 cavium drwxr-xr-x 2 root root 4096 Sep 30 09:54 exynos drwxr-xr-x 2 root root 4096 Sep 30 09:54 freescale drwxr-xr-x 2 root root 4096 Sep 30 09:54 hisilicon drwxr-xr-x 2 root root 4096 Sep 30 09:54 lg drwxr-xr-x 2 root root 4096 Sep 30 09:54 marvell drwxr-xr-x 2 root root 4096 Sep 30 09:54 mediatek drwxr-xr-x 2 root root 4096 Sep 30 09:54 nvidia drwxr-xr-x 2 root root 4096 Sep 30 09:54 qcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 renesas drwxr-xr-x 2 root root 4096 Sep 30 09:54 rockchip drwxr-xr-x 2 root root 4096 Sep 30 09:54 socionext drwxr-xr-x 2 root root 4096 Sep 30 09:54 sprd drwxr-xr-x 2 root root 4096 Sep 30 09:54 synaptics drwxr-xr-x 2 root root 4096 Sep 30 09:54 xilinx drwxr-xr-x 2 root root 4096 Sep 30 09:54 zte

    Unter /boot/extlinux liegt dann die Datei extlinux.conf

    Die sieht bei mir dann so aus

    timeout 10 menu title select kernel label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06-memtest kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 memtest

    Darunter kommen dann evt. die alten Kernel die installiert waren, das habe ich hier im Beispiel weg gelassen.

  • stretch-minimal-rockpro64

    Verschoben Linux
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Mal ein Test was der Speicher so kann.

    rock64@rockpro64:~/tinymembench$ ./tinymembench tinymembench v0.4.9 (simple benchmark for memory throughput and latency) ========================================================================== == Memory bandwidth tests == == == == Note 1: 1MB = 1000000 bytes == == Note 2: Results for 'copy' tests show how many bytes can be == == copied per second (adding together read and writen == == bytes would have provided twice higher numbers) == == Note 3: 2-pass copy means that we are using a small temporary buffer == == to first fetch data into it, and only then write it to the == == destination (source -> L1 cache, L1 cache -> destination) == == Note 4: If sample standard deviation exceeds 0.1%, it is shown in == == brackets == ========================================================================== C copy backwards : 2812.7 MB/s C copy backwards (32 byte blocks) : 2811.9 MB/s C copy backwards (64 byte blocks) : 2632.8 MB/s C copy : 2667.2 MB/s C copy prefetched (32 bytes step) : 2633.5 MB/s C copy prefetched (64 bytes step) : 2640.8 MB/s C 2-pass copy : 2509.8 MB/s C 2-pass copy prefetched (32 bytes step) : 2431.6 MB/s C 2-pass copy prefetched (64 bytes step) : 2424.1 MB/s C fill : 4887.7 MB/s (0.5%) C fill (shuffle within 16 byte blocks) : 4883.0 MB/s C fill (shuffle within 32 byte blocks) : 4889.3 MB/s C fill (shuffle within 64 byte blocks) : 4889.2 MB/s --- standard memcpy : 2807.3 MB/s standard memset : 4890.4 MB/s (0.3%) --- NEON LDP/STP copy : 2803.7 MB/s NEON LDP/STP copy pldl2strm (32 bytes step) : 2802.1 MB/s NEON LDP/STP copy pldl2strm (64 bytes step) : 2800.7 MB/s NEON LDP/STP copy pldl1keep (32 bytes step) : 2745.5 MB/s NEON LDP/STP copy pldl1keep (64 bytes step) : 2745.8 MB/s NEON LD1/ST1 copy : 2801.9 MB/s NEON STP fill : 4888.9 MB/s (0.3%) NEON STNP fill : 4850.1 MB/s ARM LDP/STP copy : 2803.8 MB/s ARM STP fill : 4893.0 MB/s (0.5%) ARM STNP fill : 4851.7 MB/s ========================================================================== == Framebuffer read tests. == == == == Many ARM devices use a part of the system memory as the framebuffer, == == typically mapped as uncached but with write-combining enabled. == == Writes to such framebuffers are quite fast, but reads are much == == slower and very sensitive to the alignment and the selection of == == CPU instructions which are used for accessing memory. == == == == Many x86 systems allocate the framebuffer in the GPU memory, == == accessible for the CPU via a relatively slow PCI-E bus. Moreover, == == PCI-E is asymmetric and handles reads a lot worse than writes. == == == == If uncached framebuffer reads are reasonably fast (at least 100 MB/s == == or preferably >300 MB/s), then using the shadow framebuffer layer == == is not necessary in Xorg DDX drivers, resulting in a nice overall == == performance improvement. For example, the xf86-video-fbturbo DDX == == uses this trick. == ========================================================================== NEON LDP/STP copy (from framebuffer) : 602.5 MB/s NEON LDP/STP 2-pass copy (from framebuffer) : 551.6 MB/s NEON LD1/ST1 copy (from framebuffer) : 667.1 MB/s NEON LD1/ST1 2-pass copy (from framebuffer) : 605.6 MB/s ARM LDP/STP copy (from framebuffer) : 445.3 MB/s ARM LDP/STP 2-pass copy (from framebuffer) : 428.8 MB/s ========================================================================== == Memory latency test == == == == Average time is measured for random memory accesses in the buffers == == of different sizes. The larger is the buffer, the more significant == == are relative contributions of TLB, L1/L2 cache misses and SDRAM == == accesses. For extremely large buffer sizes we are expecting to see == == page table walk with several requests to SDRAM for almost every == == memory access (though 64MiB is not nearly large enough to experience == == this effect to its fullest). == == == == Note 1: All the numbers are representing extra time, which needs to == == be added to L1 cache latency. The cycle timings for L1 cache == == latency can be usually found in the processor documentation. == == Note 2: Dual random read means that we are simultaneously performing == == two independent memory accesses at a time. In the case if == == the memory subsystem can't handle multiple outstanding == == requests, dual random read has the same timings as two == == single reads performed one after another. == ========================================================================== block size : single random read / dual random read 1024 : 0.0 ns / 0.0 ns 2048 : 0.0 ns / 0.0 ns 4096 : 0.0 ns / 0.0 ns 8192 : 0.0 ns / 0.0 ns 16384 : 0.0 ns / 0.0 ns 32768 : 0.0 ns / 0.0 ns 65536 : 4.5 ns / 7.2 ns 131072 : 6.8 ns / 9.7 ns 262144 : 9.8 ns / 12.8 ns 524288 : 11.4 ns / 14.7 ns 1048576 : 16.0 ns / 22.6 ns 2097152 : 114.0 ns / 175.3 ns 4194304 : 161.7 ns / 219.9 ns 8388608 : 190.7 ns / 241.5 ns 16777216 : 205.3 ns / 250.5 ns 33554432 : 212.9 ns / 255.5 ns 67108864 : 222.3 ns / 271.1 ns