OpenWrt-Lede_18.06.02 OrangePi Zero wifi-xr819 and soc-audio enabled!

Sorry for bad english.

Enabled on board OrangePi Zero WIFI xradio-xr819 and built-in audio input-output.
Added a new profile in OpenWrt-Lede_18.06.02. The image has gathered. Wifi and soc-audio works.

There is a patch and files. Here everything is laid out. Russian-speaking forum.

Enabled WIFI xradio-xr819 and built-in audio input-output - Development Snapshot builds (linux-4.19.111).

Who can help me add git-hub and patchwork.../openwrt to the source code ??

Are you familiar with using git yet?

The basic process would be to branch it yourself, make the changes on master, refreshing any kernel and source patches, test, squash appropriately, and make it known to the openwrt-devel list.

Branch master!! Enabled support for xr819 radio module and soc-AUDIO on device-sun8i-h2-plus-orangepi-zero.

This repository is a mirror of git-openwrt-org/openwrt/openwrt.git It is for reference only and is not active for check-ins or for reporting issues. We will continue to accept Pull Requests here. They will be merged via staging tre…

How to merge with git-openwrt-org/openwrt?

Or:
All in one patch. Includes xradio and soc-audio. In openwrt-master.

7 - the patch
Сommon patch on the Linux kernel: 52-add-wifi_xradio_xr819-4.19.32-1.patch
The rest of the source openwrt.

The source files to chip *xr819.bin

Here is a patch, packages-xradio for OpenWrt-18.06.02

opkg install alsa-utils

Commands to enable sound in amixer:

amixer -c 0 -q set "Line Out" 100%+ unmute
amixer -c 0 -q set "DAC" 100%+ unmute

And also add to /etc/rc.local

I can't read Russian but the pribuild image you uploaded to the 4pda forum seems to be unavailable. Would you please upload that again?

4pda-forum: To download files, you must become a user. Sign up.

ip-LUCI 192.168.10.1
And bonus: 192.168.10.1/cyberwrt
Here from Google.lede18.6.2

ip-LUCI 192.168.1.1
And bonus: 192.168.1.1/cyberwrt
Here from Google.openwrt-master

I see. Thank you. So I still can't download that.

Opera downloads! Just checked both.

Link to image - Wi-Fi, soc-audio, usb2, usb3 included: openwrt-sunxi-cortexa7-sun8i-h2-plus-orangepi-zero-wifi-ext4-sdcard

Link to imagebuilder: openwrt-imagebuilder-sunxi-cortexa7.Linux-i686.tar.xz

Orange-Pi-Zero: no wifi and soc-audio, usb2, usb3
make image PROFILE="sun8i-h2-plus-orangepi-zero" PACKAGES="mount-utils mmc-utils kmod-mmc-spi luci-app-opkg ntfs-3g-utils luci-i18n-opkg-en luci-i18n-opkg-ru kmod-mmc kmod-usb-hid triggerhappy vsftpd mpg123 libout123 libmpg123 kmod-usb-serial-ipw kmod-fs-vfat luci-app-aria2 luci-i18n-aria2-ru luci-i18n-openvpn-en luci-i18n-openvpn-ru luci-app-openvpn luci-app-mwan3 relayd luci-i18n-mwan3-ru luci-proto-relay kmod-video-core kmod-video-videobuf2 kmod-video-uvc mjpg-streamer luci-i18n-mjpg-streamer-ru luci-app-mjpg-streamer luci-i18n-hd-idle-en luci-i18n-hd-idle-ru luci-i18n-firewall-en luci-i18n-firewall-ru web-cyberwrt wireless-tools web-radio2 transmission-remote-openssl transmission-daemon-openssl transmission-cli-openssl kmod-usb-storage mkf2fs terminfo libuci-lua luci-theme-material kmod-nf-reject6 kmod-nf-flow libc opkg kmod-usb-core kmod-mt7601u libjpeg kmod-nf-reject libpthread ubus iw-full alsa-lib partx-utils rpcd busybox kmod-usb-net-qmi-wwan luci-lib-ip chat libubus-lua kmod-crypto-hash kmod-tun glib2 libcomerr libiwinfo-lua kmod-usb-wdm bash kmod-rt2800-usb uclient-fetch libvorbisidec libiwinfo luci-app-samba libcurl odhcpd-ipv6only kmod-usb-serial-sierrawireless libogg kmod-lib-crc-ccitt kmod-rtlwifi luci-i18n-samba-en luci-i18n-samba-ru libss rtl8192cu-firmware luci-theme-bootstrap kmod-pppoe kmod-rtc-sunxi kmod-rt2x00-usb kmod-usb-net-huawei-cdc-ncm e2fsprogs kmod-pppox kmod-ipt-conntrack hd-idle base-files kmod-lib-crc16 libf2fs kmod-nf-nat kmod-input-core libmms libext2fs kmod-rt2800-lib netifd luci-i18n-transmission-en luci-i18n-transmission-ru fwtool kmod-ipt-offload uboot-envtools kmod-usb-ohci dnsmasq kmod-mii procd usbutils libblkid ubusd kmod-usb-net-dm9601-ether libustream-openssl kmod-rt2x00-lib kmod-usb-serial-qualcomm kmod-rtl8xxxu luci-i18n-base-en luci-i18n-base-ru kmod-usb-net-cdc-mbim mpc kmod-usb-net-rndis block-mount kmod-usb2 kmod-usb-serial-option firewall comgt luci-app-firewall kmod-ipt-conntrack-extra kmod-nf-ipt libevent2 kmod-rtlwifi-usb kmod-usb-net-sierrawireless tc libuci liblua libip4tc kmod-ip6tables odhcp6c fstools iptables-mod-ipopt uci lua kmod-fs-ext4 wpad-mini madplay dropbear rt2800-usb-firmware luci-proto-3g curl kmod-usb-serial-wwan mtd libstdcpp kmod-sched libjson-c libgcc usb-modeswitch luci-app-sqm libip6tc luci-proto-ppp libffi libuuid ppp luci-mod-admin-full libubox luci-base kmod-sound-core libusb-1.0 logd liblzo libsmartcols ip-bridge kmod-usb-net kmod-rtl8192c-common librt kmod-mac80211 kmod-usb-serial libjson-script kmod-rtl8192cu kmod-usb-net-cdc-ncm luci-proto-ipv6 kmod-usb-audio mpd-full libblobmsg-json kmod-usb-net-hso iptables ath9k-htc-firmware openvpn-openssl kmod-fs-ntfs ntfs-3g sqm-scripts kmod-fuse jshn libncurses kmod-ipt-core kmod-usb-acm kmod-ppp rt73-usb-firmware libubus uhttpd kmod-nf-conntrack iptables-mod-conntrack-extra usign libxtables ip6tables zlib kmod-nf-ipt6 luci-lib-nixio mt7601u-firmware kmod-ipt-ipopt libmad kmod-nf-conntrack6 libid3tag kmod-usb-uhci kmod-ath ubox kmod-rt73-usb kernel libnl-tiny kmod-ath9k-htc libbz2 aria2 luci-app-transmission alsa-utils kmod-usb-storage-extras kmod-ifb kmod-nls-base libusb-compat transmission-web libmpdclient wwan jsonfilter hostapd-common kmod-ath9k-common kmod-usb-net-cdc-ether libattr libopenssl luci-app-hd-idle kmod-scsi-core kmod-slhc kmod-cfg80211 ppp-mod-pppoe kmod-lib-crc-itu-t kmod-ipt-nat kmod-sched-core"```
Orange-Pi-Zero-Wifi: wifi, soc-audio, usb2, usb3 included.
make image PROFILE="sun8i-h2-plus-orangepi-zero-wifi" PACKAGES="mount-utils mmc-utils kmod-mmc-spi luci-app-opkg ntfs-3g-utils luci-i18n-opkg-en luci-i18n-opkg-ru kmod-mmc kmod-usb-hid triggerhappy vsftpd mpg123 libout123 libmpg123 kmod-usb-serial-ipw kmod-fs-vfat luci-app-aria2 luci-i18n-aria2-ru luci-i18n-openvpn-en luci-i18n-openvpn-ru luci-app-openvpn luci-app-mwan3 relayd luci-i18n-mwan3-ru luci-proto-relay kmod-video-core kmod-video-videobuf2 kmod-video-uvc mjpg-streamer luci-i18n-mjpg-streamer-ru luci-app-mjpg-streamer luci-i18n-hd-idle-en luci-i18n-hd-idle-ru luci-i18n-firewall-en luci-i18n-firewall-ru web-cyberwrt wireless-tools web-radio2 transmission-remote-openssl transmission-daemon-openssl transmission-cli-openssl kmod-usb-storage mkf2fs terminfo libuci-lua luci-theme-material kmod-nf-reject6 kmod-nf-flow libc opkg kmod-usb-core kmod-mt7601u libjpeg kmod-nf-reject libpthread ubus iw-full alsa-lib partx-utils rpcd busybox kmod-usb-net-qmi-wwan luci-lib-ip chat libubus-lua kmod-crypto-hash kmod-tun glib2 libcomerr libiwinfo-lua kmod-usb-wdm bash kmod-rt2800-usb uclient-fetch libvorbisidec libiwinfo luci-app-samba libcurl odhcpd-ipv6only kmod-usb-serial-sierrawireless libogg kmod-lib-crc-ccitt kmod-rtlwifi luci-i18n-samba-en luci-i18n-samba-ru libss rtl8192cu-firmware luci-theme-bootstrap kmod-pppoe kmod-rtc-sunxi kmod-rt2x00-usb kmod-usb-net-huawei-cdc-ncm e2fsprogs kmod-pppox kmod-ipt-conntrack hd-idle base-files kmod-lib-crc16 libf2fs kmod-nf-nat kmod-input-core libmms libext2fs kmod-rt2800-lib netifd luci-i18n-transmission-en luci-i18n-transmission-ru fwtool kmod-ipt-offload uboot-envtools kmod-usb-ohci dnsmasq kmod-mii procd usbutils libblkid ubusd kmod-usb-net-dm9601-ether libustream-openssl kmod-rt2x00-lib kmod-usb-serial-qualcomm kmod-rtl8xxxu luci-i18n-base-en luci-i18n-base-ru kmod-usb-net-cdc-mbim mpc kmod-usb-net-rndis block-mount kmod-usb2 kmod-usb-serial-option firewall comgt luci-app-firewall kmod-ipt-conntrack-extra kmod-nf-ipt libevent2 kmod-rtlwifi-usb kmod-usb-net-sierrawireless tc libuci liblua libip4tc kmod-ip6tables odhcp6c fstools iptables-mod-ipopt uci lua kmod-fs-ext4 wpad-mini madplay dropbear rt2800-usb-firmware luci-proto-3g curl kmod-usb-serial-wwan mtd libstdcpp kmod-sched libjson-c libgcc usb-modeswitch luci-app-sqm libip6tc luci-proto-ppp libffi libuuid ppp luci-mod-admin-full libubox luci-base kmod-sound-core libusb-1.0 logd liblzo libsmartcols ip-bridge kmod-usb-net kmod-rtl8192c-common librt kmod-mac80211 kmod-usb-serial libjson-script kmod-rtl8192cu kmod-usb-net-cdc-ncm luci-proto-ipv6 kmod-usb-audio mpd-full libblobmsg-json kmod-usb-net-hso iptables ath9k-htc-firmware openvpn-openssl kmod-fs-ntfs ntfs-3g sqm-scripts kmod-fuse jshn libncurses kmod-ipt-core kmod-usb-acm kmod-ppp rt73-usb-firmware libubus uhttpd kmod-nf-conntrack iptables-mod-conntrack-extra usign libxtables ip6tables zlib kmod-nf-ipt6 luci-lib-nixio mt7601u-firmware kmod-ipt-ipopt libmad kmod-nf-conntrack6 libid3tag kmod-usb-uhci kmod-ath ubox kmod-rt73-usb kernel libnl-tiny kmod-ath9k-htc libbz2 aria2 luci-app-transmission alsa-utils kmod-usb-storage-extras kmod-ifb kmod-nls-base libusb-compat transmission-web libmpdclient wwan jsonfilter hostapd-common kmod-ath9k-common kmod-usb-net-cdc-ether libattr libopenssl luci-app-hd-idle kmod-scsi-core kmod-slhc kmod-cfg80211 ppp-mod-pppoe kmod-lib-crc-itu-t kmod-ipt-nat kmod-sched-core"

2 Likes

Thank you

The support you have added helps for the Orange Pi Zero H2+ usability, since the default build enabled the dock board USB port by default not the onboard USB port.

I bumped up my builds to kernel 4.19 to gain cpu scaling and added the 'nohz' to suppress some kernel console error messages

The xradio driver is added as a separate package - OpenWrt-master.

The xradio driver is added as a separate package - openwrt (lede)-18.06.02

spdif and i2s packages added.
add-SOC_AUDIO-usb2-usb3-opi_zero_openwrt-master

add-SOC_AUDIO-usb2-usb3-opi_zero_openwrt(lede)-18.06.02

The assembly went fine. Wifi and audio work.

1 Like

The xradio driver is added as a separate package - OpenWrt-master kernel-4.19.

The assembly went fine. Wifi work.

Hi @skreyda,
Thank you for this port,
Does this support AP mode ?

I can get it to join a network ( Client) but not provide an AP.( i can set it up , but the last message after a reload is

kern.info kernel: [  220.177800] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Wireless config :

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11g'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        option htmode 'HT20'
        option channel 'auto'
        option txpower '10'

config wifi-iface 'wifinet3'
        option device 'radio0'
        option mode 'ap'
        option ssid 'OpenWRT'
        option encryption 'none'
        option network 'lan'

iw dev wlan0 info : 
Interface wlan0
        ifindex 8
        wdev 0x3
        addr 12:42:xx:xx:xx:xx
        type AP
        wiphy 0
        txpower 20.00 dBm

ifconfig :
wlan0     Link encap:Ethernet  HWaddr 12:42:xx:xx:xx:xx
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Yes it supports AP mode but bad.

Here, the finished images.
openwrt-orangepi-zero-ext4
openwrt-orangepi-zero-LTS-ext4

First boot:

  1. Run boot-config:
    192.168.10.1/cgi-bin/modules/boot-config/index.cgi
  2. Click Create a backup of uboot (dtb-file)
  3. Configure items to boot (wifi-xr819, Sunxi-IR, 1Wire (PA06 GPIO-6), i2c0, i2c1, pwm0, usb2-3 ..).
  4. Click Save changes.
  5. Click Apply changes, and reboot. Orange-pi reboots and a new AP appears "orangepi-zero".


pwm-help (Russian forum): http://4pda.ru/forum/index.php?s=&showtopic=782242&view=findpost&p=93720186

1 Like

Hi @skreyda
I've also discovered that the AP mode is very unreliable ( sometimes it works other times it doesnt )
We've connected some of out WF200 based WLAN devices to the Orangepi over SPI - that supports both AP and Client and is OK for our needs.
-Cool DTS editor...