Jump to content

Recommended Posts

Posted

I’m really happy to share that I finally managed to port the SV6256P (SSV6X5X) SDIO Wi-Fi driver from the legacy Linux 4.4 kernel to modern kernels.

This repository contains my working port for Linux kernel 6.12 and newer, with updated mac80211/cfg80211 integration so the driver can build and run on recent Armbian systems.

The chipset is commonly used in many low-cost TV boxes and embedded devices, but the original driver only supported legacy kernels (4.4).

Now it’s functional again on modern systems, at least on my tested hardware (Allwinner H616 / X96 Q via SDIO).

 

Repository link:
https://github.com/cdhigh/armbian_sv6256p

 

I’m quite excited to finally see this old Wi-Fi chip working on a 6.x kernel 🙂
 

[    4.774151] ssv6x5x: importing configuration from /lib/firmware/ssv6x5x-wifi.cfg
[    4.778281] tu_ssv6xxx_sdio_init, probe @(____ptrval____)
[    4.779483] TU_SSV6XXX_SDIO mmc3:0001:1: Probing SDIO bus
[    4.779513] ssv6xxx_set_sdio_clk: set sdio clk 25000000Hz
[    4.799668] TU_SSV6XXX_SDIO mmc3:0001:1: vendor = 0x3030 device = 0x3030
[    4.825421] TU_SSV6XXX_SDIO mmc3:0001:1: dataIOPort 0x10000 regIOPort 0x10020
[    4.849181] TU_SSV6XXX_SDIO mmc3:0001:1: dataIOPort 0x10000 regIOPort 0x10020
[    4.849530] TU_SSV6XXX_SDIO mmc3:0001:1: CHIP ID: SSV6006C0
[    4.850373] ssv6x5x ops chk: tx=1 start=1 stop=1 config=1 add_if=1 rm_if=1 conf_filter=1 wake_txq=1
[    4.850402] ssv6x5x chanctx chk: any=1 all=0 emulate=1 add=1 rm=1 chg=1 assign=0 unassign=0
[    4.850409] ssv6x5x chanctx ops set but not complete
[    4.850424] Attach SSV6006 family HAL function
[    4.858285] MAC address from e-fuse
[    4.858311] EFUSE configuration
[    4.858315] Read efuse chip identity[79000000]

ip link show:
6: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

 

Posted

Hello, congratulations for your achievement!

 

I wonder if you had the chance to give a shot to the ssv6051 sibling... the original drivers (one for ssv6051 and another for ssv6x5x) were really a mess that @ilmich and me did a lot of work at the time to cleanup and fix things in the past time. We concentrated against the ssv6051 driver at the time and in fact the ssv6051 driver already works in mainline kernel (it is in the rockchip 32bit patch directory), although it is still quite a mess. Here it is the repository if you want to take a look to the commits.

 

We also started an attempt to do a clean and proper reimplementation of the ssv6xxx driver, but actually never went over firmware loading (the repo is private since it was a heavy WIP, but can share if you have enough will to take a look to that)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines