orangepi-xunlong / firmware

Orange Pi specific firmware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Orange PI 3 LTS wcnmodem.bin crashes when running WiFI access point and searching for WiFi networks

pierre-pretorius opened this issue · comments

Hi

I'm running the config below on many different boards successfully. On the Orange PI 3 it crashes consistently. I've tried many different distributions such as Orange PI Debian image and Armbian. The steps below is with Orangepi3-lts_2.1.6_debian_buster_server_linux4.9.118.img from http://www.orangepi.org/downloadresources/

I've already purchased 200+ of the Orange PI 3 LTS and will buy many more if the problem below is resolved.

Installation:

apt-get install hostapd dhcpcd5 dnsmasq

# File: /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
  
# File: /etc/hostapd/hostapd.conf
interface=wlan0
#driver=nl80211
ssid=MyHotspot
hw_mode=g
channel=4
#wmm_enabled=0
#macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=1234
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP
country_code=ZA
ieee80211n=0
ieee80211d=1

# Append to file: /etc/dhcpcd.conf 
nohook wpa_supplicant

# File: /etc/dnsmasq.d/dnsmasq-wlan0.conf
no-resolv
interface=wlan0
bind-interfaces
dhcp-range=10.0.1.50,10.0.1.150,12h

Starting WiFi access point:

systemctl stop wpa_supplicant
ip link set dev wlan0 down
ip a add 10.0.1.5/24 brd + dev wlan0
ip link set dev wlan0 up
dhcpcd -k wlan0
systemctl start hostapd
systemctl start dnsmasq

Scan for WiFi networks, which makes it crash:

root@orangepi3-lts:~# iw dev wlan0 scan
scan aborted!

root@orangepi3-lts:~# dmesg | grep 'WCN\|wlan0'

[    8.099011] WCN: marlin_init entry!
[    8.100020] WCN: wcn config bt wake host
[    8.100424] WCN: marlin_registsr_bt_wake bt_hostwake gpio=385 mul-sel=6 pull=-1 drv_level=-1 data=0 intnum=42
[    8.100514] WCN: wcn config wifi wake host
[    8.104066] WCN: marlin_probe ok!
[    8.173297] WCN: start_marlin [MARLIN_WIFI]
[    8.173309] WCN: marlin power state:0, subsys: [MARLIN_WIFI] power 1
[    8.173312] WCN: the first power on start
[    8.291866] WCN: marlin chip en pull up
[    8.385492] WCN: marlin_scan_finish!
[    8.385510] WCN: then marlin start to download
[    8.385709] WCN: marlin_get_wcn_chipid: chipid: 0x2355b001
[    8.385717] WCN: marlin_request_firmware from /lib/firmware/wcnmodem.bin start!
[    8.517797] WCN: combin_img 0 marlin_firmware_write finish and successful
[    8.518070] WCN: marlin_start_run read reset reg val:0x1
[    8.518073] WCN: after do marlin_start_run reset reg val:0x0
[    8.518248] WCN: s_marlin_bootup_time=8518245633
[    8.524840] WCN: clock mode: TSX
[    8.525036] WCN: marlin_write_cali_data sync init_state:0x1a0f50
[    8.549520] WCN: marlin_write_cali_data sync init_state:0x1a0f50
[    8.576174] WCN: marlin_write_cali_data sync init_state:0xf0f0f0f1
[    8.576181] WCN: sdio_config bt_wake_host trigger:[high]
[    8.576184] WCN: sdio_config irq:[inband]
[    8.576187] WCN: sdio_config wl_wake_host trigger:[high]
[    8.576192] WCN: sdio_config wake_host_level_duration_time:[20ms]
[    8.576195] WCN: sdio_config wake_host_data_separation:[bt/wifi reuse]
[    8.576198] WCN: marlin_send_sdio_config_to_cp sdio_config:0xb8f01 (enable config)
[    8.576583] WCN: marlin_write_cali_data finish
[    8.576773] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[    8.602845] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[    8.629499] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[    8.656186] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[    8.683785] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[    8.709516] WCN: check_cp_ready sync val:0xf0f0f0f6, prj_type val:0x0
[    8.709525] WCN: marlin_bind_verify confuse data: 0x8b ad ef a1 b1 2 bb e26a ef f a8 d1 a5 c0 7
[    8.709541] WCN: marlin_bind_verify verify data: 0xcc d7 f9 63 c1 95 81 9076 80 f8 8f 20 44 f6 87
[    8.710094] WCN: check_cp_ready sync val:0xf0f0f0f7, prj_type val:0x0
[    8.736217] WCN: check_cp_ready sync val:0xf0f0f0ff, prj_type val:0x0
[    8.737310] WCN: get_cp2_version entry!
[    8.738819] WCN: WCND at cmd read:WCN_VER:Platform Version:MARLIN3_19B_W20.37.4~Project Version:sc2355_marlin3_lite_ott~09-11-2020 21:27:32~
[    8.738841] WCN: switch_cp2_log - close entry!
[    8.740189] WCN: WCND at cmd read:OK
[    8.740232] WCN: then marlin download finished and run ok
[    8.740238] WCN: start_loopcheck
[    8.760203] WCN: get_board_ant_num [one_ant]
[    8.821428] unisoc_wifi unisoc_wifi wlan0: mixed HW and IP checksum settings.
[   10.063336] WCN: start_marlin [MARLIN_BLUETOOTH]
[   10.063344] WCN: marlin power state:4, subsys: [MARLIN_BLUETOOTH] power 1
[   10.063350] WCN: marlin have open, GNSS is closed
[   13.518901] WCN: start_marlin [MARLIN_BLUETOOTH]
[   13.518908] WCN: marlin power state:5, subsys: [MARLIN_BLUETOOTH] power 1
[   13.518912] WCN: marlin have open, GNSS is closed
[   15.410489] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   15.566735] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  729.575269] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  795.283824] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  885.916902] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  886.134052] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1082.378834] WCN: mdbg_assert_read:WCN Assert in rf_marlin.c line 993, pri20_offset == NO_OFFSET,data length 128
[ 1082.378855] WCN: stop_loopcheck
[ 1082.378875] WCN_ERR: chip reset & notify every subsystem...
[ 1082.379134] WCN: [marlin_cp2_reset], DO BSP RESET
[ 1082.379151] WCN: marlin power state:5, subsys: [MARLIN_WIFI] power 0
[ 1082.379163] WCN: can not power off, other module is on
[ 1082.379175] WCN: start_loopcheck
[ 1082.379197] WCN: marlin power state:1, subsys: [MARLIN_BLUETOOTH] power 0
[ 1082.379208] WCN: stop_loopcheck
[ 1082.379223] WCN: wcn chip start power off!
[ 1082.379377] WCN: chip_power_off
[ 1082.379782] WCN: marlin chip en pull down
[ 1082.380464] WCN: marlin power off!

There are other ways I can trigger exactly the same error, but the example above is a relatively simple way to trigger it.

@leeboby you seem to be the only person updating wcnmodem.bin. Where can I find the source code to try and fix the firmware?

This is last update you made to the file. I did try the previous one but it has the same issue: 78c201e

Alternatively do you know of an open source driver I can try?

Hi, please try this image:

图片

It is ok to open WIFI Hotspot using orangepi-config.

图片

图片

The default name of the WIFI Hotspot is OrangePi and the password is 12345678.

Hi, it looks I have very similar issue ( orangepi-xunlong/linux-orangepi#19 )
Issue in this report and mine #19 both seems to wcn firmware related.
Is issue reported in this ticket resolved by xulong?