Skip to contentSkip to conversation

mwifiex sdio wifi crashes on samsung peach pi chromebook

BUG Milan P. Stanić 2 participants 6 messages Oct 22, 2021 – Dec 27, 2021

lore
Share & tools
lore
#0 lore raw

Hi,

[ sorry if I send this to wrong address but you are listed as
maintainers for MARVELL MWIFIEX WIRELESS DRIVER ]

On my chromebook samsung peach pi (exynos-5800) wifi driver stops to work at random time, sometimes after few hours and sometimes after day or two.

dmesg shows this (and repeating till reboot):
----------------------------------------------

[ 3718.465572] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3718.465925] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3718.466262] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3718.466340] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3718.916823] mwifiex_sdio mmc1:0001:1: read mp_regs failed
[ 3718.917338] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3718.917522] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3718.917689] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3718.917804] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3718.918096] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3718.918371] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3718.918501] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3718.918546] mwifiex_sdio mmc1:0001:1: mwifiex_11n_aggregate_pkt: host_to_card failed: 0xffffffff
[ 3719.245817] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3719.246101] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3719.246381] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3719.246449] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3719.437566] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3719.437842] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3719.438119] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3719.438184] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3719.935954] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3719.936173] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3719.936301] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3719.936348] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3720.149548] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3720.149870] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3720.150212] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3720.150477] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3720.269532] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110
[ 3720.269754] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (2) failed: -110
[ 3720.269937] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (3) failed: -110
[ 3720.269988] mwifiex_sdio mmc1:0001:1: mwifiex_write_data_async failed: 0xFFFFFFFF
[ 3720.358851] mwifiex_sdio mmc1:0001:1: host_to_card, write iomem      (1) failed: -110

----------------------------------------------

kernel is mainline 5.14.4 without patches, but I recall that I noticed this crashes on older ones but can't remember exact version.

I don't have idea how I could trigger this bug to appear because I din't find anything related which could trigger it.

I'm ready to test patches if anyone made them but I don't have experience in kernel drivers programming so can't make fix.

Thanks in advance

#1 lore raw

Hi,

Quoted 3 lines · Milan P. Stanić

On my chromebook samsung peach pi (exynos-5800) wifi driver stops to work at random time, sometimes after few hours and sometimes after day or two.

I don't have official recommendations, nor HW to test at the moment, but for the record, Peach Pi should have Marvell SD 8797. You can see what firmware Chrome OS used to ship for those devices here:

https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin
https://chromium.googlesource.com/chromiumos/third_party/marvell/+log/HEAD/sd8797_uapsta.bin

Notably, the versioning there (e.g., W14-66-27-p18) suggests it's a different branch (?) than what's currently provided in the main linux-firmware (W14.68.29.p59). So you might give a try at replacing the file in /lib/firmware/mrvl/. No guarantees though.

Quoted 2 lines

kernel is mainline 5.14.4 without patches, but I recall that I noticed this crashes on older ones but can't remember exact version.

Did it ever work well? I'm curious if this was a kernel regression, or perhaps just a long-standing firmware issue.

Brian

#2 lore raw

Hi,

Quoted 7 lines · Brian Norris

Hi,

Quoted 3 lines · Milan P. Stanić

On my chromebook samsung peach pi (exynos-5800) wifi driver stops to work at random time, sometimes after few hours and sometimes after day or two.

Quoted 6 lines

I don't have official recommendations, nor HW to test at the moment, but for the record, Peach Pi should have Marvell SD 8797. You can see what firmware Chrome OS used to ship for those devices here:

https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin
https://chromium.googlesource.com/chromiumos/third_party/marvell/+log/HEAD/sd8797_uapsta.bin

On these urls I can't find actual file to download, or I'm blind (or don't understand how this site 'works').
Whatever I click I get new url and not binary file to download.

Could you give url for binary file that I could download, please?

Quoted 10 lines

Notably, the versioning there (e.g., W14-66-27-p18) suggests it's a different branch (?) than what's currently provided in the main linux-firmware (W14.68.29.p59). So you might give a try at replacing the file in /lib/firmware/mrvl/. No guarantees though.

Quoted 2 lines

kernel is mainline 5.14.4 without patches, but I recall that I noticed this crashes on older ones but can't remember exact version.

Did it ever work well? I'm curious if this was a kernel regression, or perhaps just a long-standing firmware issue.

Yes, it worked for few years but started to crash about few months ago and that happened when I upgraded complete root filesystem, so it could be related to upgraded firmware. Thank you for hint what to try to test.

Quoted 1 line

Brian

#3 lore raw
Quoted 10 lines · Milan P. Stanić
Quoted 9 lines · Brian Norris
Quoted 3 lines · Milan P. Stanić

On my chromebook samsung peach pi (exynos-5800) wifi driver stops to work at random time, sometimes after few hours and sometimes after day or two.

I don't have official recommendations, nor HW to test at the moment, but for the record, Peach Pi should have Marvell SD 8797. You can see what firmware Chrome OS used to ship for those devices here:

Quoted 6 lines
Quoted 2 lines

https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin
https://chromium.googlesource.com/chromiumos/third_party/marvell/+log/HEAD/sd8797_uapsta.bin

On these urls I can't find actual file to download, or I'm blind (or don't understand how this site 'works').
Whatever I click I get new url and not binary file to download.

Ack, I forgot Gitiles is not super friendly for downloading binaries directly:

https://github.com/google/gitiles/issues/106

Quoted 1 line

Could you give url for binary file that I could download, please?

This should do it:

curl https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin?format=TEXT
| base64 -d > sd8797_uapsta.bin

Or some similar invocation if you have to use the browser (click on the "txt" link, then base64-decode the result).

Quoted 9 lines
Quoted 5 lines
Quoted 2 lines

kernel is mainline 5.14.4 without patches, but I recall that I noticed this crashes on older ones but can't remember exact version.

Did it ever work well? I'm curious if this was a kernel regression, or perhaps just a long-standing firmware issue.

Yes, it worked for few years but started to crash about few months ago and that happened when I upgraded complete root filesystem, so it could be related to upgraded firmware. Thank you for hint what to try to test.

Could be. It does look like mainline linux-firmware got an update for this file in 2019, so it's possible your distro (or whatever provides your rootfs) only semi-recently got the update.

Brian

#4 lore raw
Quoted 20 lines · Brian Norris
Quoted 10 lines · Milan P. Stanić
Quoted 9 lines · Brian Norris
Quoted 3 lines · Milan P. Stanić

On my chromebook samsung peach pi (exynos-5800) wifi driver stops to work at random time, sometimes after few hours and sometimes after day or two.

I don't have official recommendations, nor HW to test at the moment, but for the record, Peach Pi should have Marvell SD 8797. You can see what firmware Chrome OS used to ship for those devices here:

Quoted 6 lines
Quoted 2 lines

https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin
https://chromium.googlesource.com/chromiumos/third_party/marvell/+log/HEAD/sd8797_uapsta.bin

On these urls I can't find actual file to download, or I'm blind (or don't understand how this site 'works').
Whatever I click I get new url and not binary file to download.

Ack, I forgot Gitiles is not super friendly for downloading binaries directly:

Quoted 8 lines

https://github.com/google/gitiles/issues/106

Quoted 1 line

Could you give url for binary file that I could download, please?

This should do it:

curl https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin?format=TEXT
| base64 -d > sd8797_uapsta.bin

This works, thanks.

With this firmware it crashed after 8 hours, and I rebooted machine to see how long it will work on second try.

Quoted 9 lines

Or some similar invocation if you have to use the browser (click on the "txt" link, then base64-decode the result).

Quoted 6 lines
Quoted 5 lines
Quoted 2 lines

kernel is mainline 5.14.4 without patches, but I recall that I noticed this crashes on older ones but can't remember exact version.

Did it ever work well? I'm curious if this was a kernel regression, or perhaps just a long-standing firmware issue.

Quoted 7 lines
Quoted 3 lines

Yes, it worked for few years but started to crash about few months ago and that happened when I upgraded complete root filesystem, so it could be related to upgraded firmware. Thank you for hint what to try to test.

Could be. It does look like mainline linux-firmware got an update for this file in 2019, so it's possible your distro (or whatever provides your rootfs) only semi-recently got the update.

I use linux-firmware-mrvl-20210919 release but this also happened with some earlier versions released this year.

I use Alpine linux (https://alpinelinux.org/, I'm alpine linux developer and maintainer of latest stable kernels on it).

In meantime I found that Arch linux for ARM (alarm) have older firmware for peach chromebook here (probably copied from chromeos):
https://archlinuxarm.org/builder/src/sd8787_uapsta_cros.bin
https://archlinuxarm.org/builder/src/sd8797_uapsta_cros.bin
https://archlinuxarm.org/builder/src/sd8897_uapsta_cros.bin

They even have patched kernel for this here:
https://archlinuxarm.org/packages/armv7h/linux-peach/files/0002-use-chromiumos-mwifiex-drivers.patch
but this is for old 3.8.11 kernel.

I will try with them and see how it would work.
Also I will try to find if I have old root FS which worked few years on it (if I have it archived somewhere).

Also, I will report back results.

Kind regards

Quoted 1 line

Brian

#5 lore raw

Hi all,

Quoted 68 lines · Milan P. Stanić
Quoted 20 lines · Brian Norris
Quoted 10 lines · Milan P. Stanić
Quoted 9 lines · Brian Norris
Quoted 3 lines · Milan P. Stanić

On my chromebook samsung peach pi (exynos-5800) wifi driver stops to work at random time, sometimes after few hours and sometimes after day or two.

I don't have official recommendations, nor HW to test at the moment, but for the record, Peach Pi should have Marvell SD 8797. You can see what firmware Chrome OS used to ship for those devices here:

Quoted 6 lines
Quoted 2 lines

https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin
https://chromium.googlesource.com/chromiumos/third_party/marvell/+log/HEAD/sd8797_uapsta.bin

On these urls I can't find actual file to download, or I'm blind (or don't understand how this site 'works').
Whatever I click I get new url and not binary file to download.

Ack, I forgot Gitiles is not super friendly for downloading binaries directly:

Quoted 8 lines

https://github.com/google/gitiles/issues/106

Quoted 1 line

Could you give url for binary file that I could download, please?

This should do it:

curl https://chromium.googlesource.com/chromiumos/third_party/marvell/+/HEAD/sd8797_uapsta.bin?format=TEXT
| base64 -d > sd8797_uapsta.bin

This works, thanks.

With this firmware it crashed after 8 hours, and I rebooted machine to see how long it will work on second try.

Quoted 9 lines

Or some similar invocation if you have to use the browser (click on the "txt" link, then base64-decode the result).

Quoted 6 lines
Quoted 5 lines
Quoted 2 lines

kernel is mainline 5.14.4 without patches, but I recall that I noticed this crashes on older ones but can't remember exact version.

Did it ever work well? I'm curious if this was a kernel regression, or perhaps just a long-standing firmware issue.

Quoted 7 lines
Quoted 3 lines

Yes, it worked for few years but started to crash about few months ago and that happened when I upgraded complete root filesystem, so it could be related to upgraded firmware. Thank you for hint what to try to test.

Could be. It does look like mainline linux-firmware got an update for this file in 2019, so it's possible your distro (or whatever provides your rootfs) only semi-recently got the update.

I use linux-firmware-mrvl-20210919 release but this also happened with some earlier versions released this year.

I use Alpine linux (https://alpinelinux.org/, I'm alpine linux developer and maintainer of latest stable kernels on it).

In meantime I found that Arch linux for ARM (alarm) have older firmware for peach chromebook here (probably copied from chromeos):
https://archlinuxarm.org/builder/src/sd8787_uapsta_cros.bin
https://archlinuxarm.org/builder/src/sd8797_uapsta_cros.bin
https://archlinuxarm.org/builder/src/sd8897_uapsta_cros.bin

They even have patched kernel for this here:
https://archlinuxarm.org/packages/armv7h/linux-peach/files/0002-use-chromiumos-mwifiex-drivers.patch
but this is for old 3.8.11 kernel.

Quoted 5 lines

I will try with them and see how it would work.
Also I will try to find if I have old root FS which worked few years on it (if I have it archived somewhere).

Also, I will report back results.

After two months of testing with above firmware it works better but still crashes, sometimes after 4-12 days but more times it works about 7-8 days.

So, not sure is worth to debug this problem more for me but maybe it is worth someone who need it to run without reboot for long periods to find firmware which is stable.

Thank you all for help and best wishes for new year.

Signature · 1 line
Kind regards