Skip to content

john-p-williams/android_hardware_wifi_icomm_drivers_ssv6xxx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I bought a TV set-top box based on the Rockchip RK3328 SOC,
which turned out to use an SSV6051P wifi chip.
I am running Armbian on this box (with the Armbian 5.9.14 kernel
based on mainline), and of course there is no driver for the SSV6051
in mainline, so this is a port to my hardware of a driver
that I found in the Khadas VIM github repository, with
some patches from CoreELEC and some of my own.

I don't think there is anything that is rockchip-specific
in the code, so it may be useful on other SOCs. Of course
the device tree is hardware-specific.

Code layout
===========

There are 4 directories:

ssv6051		the device driver
ssv6x5x		appears to contain a usb device driver; I haven't touched this
ssv_hwif_ctrl	I've no idea what this is
device_tree	contains the hardware-specific changes I made to the rock64 device tree
		for my set-top box (scishion v88piano)

Code changes
============

1. I have completely replaced the makefiles, which were a confusing mess;
I have also removed a lot of files which were not needed to compile the module.

2. Various places where kernel functions have changed their name, parameters etc.
In a few cases I gave up and wrapped the non-compiling
code in '#ifdef UNDEFINED ... #endif'

3. An obvious typo in ssv_hci.c where one variable was initialized and then another
similarly-named variable tested: I'm surprised the compiler didn't catch this.

The code is a horrible mess; I haven't tried to clean it up or even to re-format it.

Compilation
===========

To build in Armbian, using the native compiler, you will need the linux kernel
heaxers package installed; then go to the ssv6051 directory and type 'make'.

To build the firmware, install 'gcc-arm-none-eabi' and 'libnewlib-arm-none-eabi'
then go to the ssv6051/smac/firmware directory and type 'make'.

Installation
============

Copy the module file ssv6051.ko to /lib/modules/5.7.15-rockchip64/extra/ssv6051.ko

Create a directory /lib/firmware/ssv6051 and copy the two firmware files
ssv6051-wifi.cfg and ssv6051-sw.bin into it from the 'image' and 'firmware'
directories.

You will also need support added to the device tree; see the contents of the
device-tree directory which has its own documentation

Testing
=======

I tested the code by connecting to various access points
and then running 'ping -f -s 4000' and 'netperf'.

About

Driver for ssv6051 for Armbian rockchip linux

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.4%
  • C++ 2.5%
  • Shell 0.4%
  • Assembly 0.3%
  • Objective-C 0.2%
  • Makefile 0.2%