Supporting ZSUN Wifi Card Reader (16MB Flash, 64MB RAM, AR9331)

I just checked your pull request. Well done. Thank you very much for this.
Hope this gets merged asap. We need this to become official. Don't let the lack of a physical rj45 port drop this tiny device. Due to the lack of knowledge I can't help but I am available for testing and have 5 devices to test and even risk a brick. Please help to get the PR merged or modifiy it to be merged as you think it needs to be done @pepe2k @adrianschmutzler

1 Like

This will not be the last hardware with the WiFi-only problem, so this needs a solution.

...keeping fingers crossed...

I also hope that the openwrt community can finally accept wifi only devices... it's 2019 :thinking:

A real pain to see that a few people block things for the whole community. Now we know again why openwrt was forked in the past... let's hope that these Bedenkenträger are not blocking things again and we can finally have our offical openwrt on our little devices.

Great work @brunompena ! Thank's a million! :fireworks:


The comments below PR#2569 don't feed my optimism. :frowning:

Can there be a plan-b?
Maybe the Zsun can be added to OpenWrt's source tree in an extra section "community driven ports" or "experimental"?

1 Like

Well, you should ask yourself what's the benefit of having "official" support if it is only experimental, meaning that we close eyes on problems to have it in the trunk. Despite the obvious problems with maintainability, being "official" wouldn't give a benefit then, despite for you not having to build the images yourself with the patches already there.

So, the path ahead will be to address the suggested issues (partitioning, sensible concept and implementation for default-enabled WiFi, etc.). This won't come to you, but someone will have to do it.

1 Like

We would not have 2 or more different Zsun repositories around the wild wide nets. All Zsun related things being in a central place would be a step forward even if labelled "unofficial". It would be in the place where everyone would expect it and users would not have to look around and compare repositories for which being the currently active one.

1 Like

But the reason why the "official" OpenWrt repository has this status is because code is reviewed and fulfills certain quality standards. A repository where stuff is just merged without matching these standards would soon become one of many. So, by adding experimental stuff you will just reach the opposite result and lower the credibility of the source you consider "primary" or "official" here.

Despite that, note that this is a theoretical discussion, as the device at hand will only be merged if the blockers are removed.


Reading or writing a wifi passphrase from/to a microSD card seems like one of the only solutions to the wifi password problem. Or maybe start with wifi in station mode and trigger WPS using the microSD as a switch?

Maybe only building a sysupgrade is a solution. That would mean that you somehow need to have a working version of OpenWrt before ever installing an official image. So no need to have a device with open WiFi after flash

Maybe only building a sysupgrade is a solution. That would mean that you somehow need to have a working version of OpenWrt before ever installing an official image. So no need to have a device with open WiFi after flash

This approach still won't solve the partitioning problem. Even worse, one would have to assume a certain partitioning from the "previous OpenWrt" that we cannot control.

This is actually already possible with the version you have on your devices by using the recovery partition:

  • Flash a new version using the mtd tool to the firmware partition
    mtd write /tmp/openwrt-ath79-generic-zsun_sd100-squashfs-sysupgrade.bin firmware

  • Mount the firmware partition

  • Enable the WiFi
    sed 's/Zsun Recovery/OpenWrt/' /etc/config/wireless > /firmware/etc/config/wireless

  • Unmount firmware

  • Reboot!

But we end up with the foreign partition issue that @adrianschmutzler mentioned (talking about the recovery partition here which doesn't come from an official source).


Indeed the Callstel Micro SD WiFi card reader is a kind of ZSUN clone.
Bought one of these Callstel devices a few month ago and successfully
flashed the lede-unlocked_rec.bin firmware provided by puteulanus.
Unfortunately I'm not in possession of the device anymore. Thus I cannot
check the built-in RAM and flash memory.
Nevertheless having an "original" ZSUN too, I didn't noticed any obvious
differences regarding the logic board between ZSUN and Callstel design.

found this , low price , compatibility ?

Some pages for this device quote an "AMPAK AP6181" Wifi chip which, if correct, means that this is device is if not completely, then at least very different from the Zsun.

Wow. the provided instructions and efforts you put in are really pro grade. I just want to say thank you very much. Hope you will continue providing builds. :+1:

1 Like

Thank you for your words.
My intention is to keep providing pre-compiled images until the final version of 19.07.0 is released (for future releases I have created a pull request).

1 Like

The pre-compiled image for OpenWrt 19.07.0 (main firmware) and upgrade instructions are now available here .

Please note a few important changes have been merged to this release:

  • Updated the kernel DTS file with the changes from the pull request #2569
  • Updated the WiFi activation script to the method described in the pull request #2571
  • Updated the build config file to match the default OpenWrt settings and packages as defined in the official seed file
    • LuCI is now included on the firmware image
    • Official kernel modules are now supported and may installed using opkg or LuCI
    • The filesystem kernel modules ext4, vfat, exfat, ntfs are no longer included on the firmware image (but may be installed via opkg or LuCI)

For this release it is highly recommended that you upgrade without preserving your settings!


Thank you for all your work getting the Zsun up-to-date on both 19.07 and the ath79 branch! Would it maybe possible to release a pre-compiled imagebuilder as well? I'd like to generate a firmware image with some packages I use by default on a number of Zsun devices :slight_smile:

1 Like

I have created a patch for the official Image Builder.
To use it follow the instructions below:

git clone

wget -qO- | tar xJvf -
cd openwrt-imagebuilder-19.07.0-ath79-generic.Linux-x86_64

patch -p1 < ../zsun-resources/zsun-sd100.imagebuilder.ath79[v19.07.0].patch
find files/ -type f -exec chmod 0755 {} \;

make image PROFILE="zsun_sd100" FILES="files/" PACKAGES="..."

Does anyone have any more info on how the recovery image works?

I flashed 19.07.0-pre1 onto one of my 15.05 devices and whilst the installation worked fine, it seems that trying to install the NFS kernel module afterwards caused it to reboot into a reboot loop ever since. I can see this is happening based on the LED activity.

To work around it, I trigger the recovery image by inserting the SD card after the LED lights for the first time. It goes into the rapid blinking recovery boot, but no new recovery SSID shows up. I've successfully used the old recovery image before (when the OpenWrt SSID shows up) but this one does not seem to work.

So now I am a bit stuck, I have a brick unless there's any other logic in the recovery image I can leverage to get access. I looked in @puteulanus's repo but I don't see anything outside of the recovery binary.

1 Like