Rock960[A/B/C] kernel patch for supporting some USB GbE

      Comments Off on Rock960[A/B/C] kernel patch for supporting some USB GbE

Here’s my kernel patch for Rock960[A/B/C] board based on git – “stable-4.4-rk3399-linux-v2.1x” branch patch for support or modified for :

  • Governor for performance.
  • Supporting latest version of Realtek r8152/3 USB 3.0 GbE ( merged version of “9” )
  • Supporting latest version of Cypress GX3 USB 3.0 GbE
  • Supporting latest version of Microchip LAN7800 USB 3.0 GbE ( version 1.0.5.4.4.1.0 )

Preparation

Refer to base build environments here : https://rageworx.info/?p=1610

Kernel

Case #1 : Using rockchip linux kernel.

Move your original kernel directory with mv kernel kernel_origin.
Then you can clone a repository from here: https://github.com/rockchip-linux/kernel
Then switch branch to “stable-4.4-rk3399-linux-v2.1x” in kernel directory

-update-
This kernel branch provides improved functions for MIPI-CSI2, and some stabilities.

Case #2: Using Rock960 kernel

Or Just use Rockchip’s kernel when it back up with cp -rf kernel kernel_backup.

Download a patch

Download “Rock960[A/B/C] kernel statble-4.4-rk3399-linux-v2.1x patch #1” kernel_patch.zip – Downloaded 4 times – 82 KB

Modify patch for your condition

You can changes patch contents what you needed.

Apply patch

copy patch file into “kernel” directory and, do this in shell.

Copy device trees

Rockchip linux not contains Rock960 board devices tree.
Copy two dts files from my zip file, or your original kernel.

dts may place here: ${your kernel}/arch/arm64/boot/dts/rockchip.

Copy cyusb3610.* to usb network driver path.

Copy cyusb3610.h and c file into ${your kernel}/drivers/net/usb.

Known issue

  • Realtek R8152/3 USB 3.0 GbE makes network be unexpected status when system board power down or while reboot.
  • Recommend to unplug RJ45 from adapter or, turn off power supply for USB 3.0 HUB if you got each selective power button or switch.
  • STILL Rockchip linux kernel has many bug in ISP with MIPI CSI2 cameras – when it solved Rockchip ?
    My testing new camera cannot streaming on with this kernel.
    – Update – Improved kernel provides much better performance and stabilities in ISP.

Performance

  • Tested with iperf3 at GbE router, and each performance depends on your network.
    • r8152 : around 950~960Mbps.
    • Cypress GX3 : around 800~850Mbps.
    • Microchip LAN7800 : around 800~850Mbps.

Build

Building kernel is same as Rock960’s method.
Use build/mk-kernel.sh rock960xx script.

Replacing flashed kernel

When kernel compilation completed as well, you can see “boot.img” in “out” directory.
Flash boot.img with mask-rom mode, or with dd in Rock960 board.

– or –

You can see new kernel will be loaded with USB-tty debugging log, or dmesg in LXterminal.