Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BCM4389 #550

Open
TQMatvey opened this issue Jan 5, 2023 · 23 comments
Open

BCM4389 #550

TQMatvey opened this issue Jan 5, 2023 · 23 comments
Assignees

Comments

@TQMatvey
Copy link

TQMatvey commented Jan 5, 2023

Hello, @matthiasseemoo, i have spent many weeks researching monitor mode for BCM4389, had 0 luck, i can provide remote access to S21 Ultra, and any needed blobs, really hope you could help.

Here is and interesting topic i found but it didnt help at all :<
https://forum.xda-developers.com/t/get-bcm4389-into-monitor-mode-for-wifi-sniffing.4525011/

@jlinktu
Copy link
Member

jlinktu commented Jan 6, 2023

Hi @TQMatvey,
the bcm4389c1 as found on the S21 Ultra is already in the pipeline and will be supported here soon.

@jlinktu jlinktu self-assigned this Jan 6, 2023
@savox-326
Copy link

savox-326 commented Jan 7, 2023

@jlinktu
hi, could you update patch for bcm4375 also? at OneUI 3 and newer in kernel changed driver. It was bcmdhd_101_12 now it is bcmdhd_101_16. Maybe that existing patch worked at OneUI 2.5, but now, when we cannot rollback to it (thanks for Samsung with their "secured" bootloader) this patch is not relevant. sorry for my english isn't good (reference to my previous issue)

@shandongtlb
Copy link

你好@TQMatvey, 在bcm4389c1S21 Ultra 上找到的功能已经在准备中,很快就会在这里得到支持。

Waitting for you, thanks

@TQMatvey
Copy link
Author

Hi @TQMatvey, the bcm4389c1 as found on the S21 Ultra is already in the pipeline and will be supported here soon.

any ETAs or any way to see the progress? i am also very interested at reverse engineering, and patching firmwares

@shandongtlb
Copy link

Hi @TQMatvey, the bcm4389c1 as found on the S21 Ultra is already in the pipeline and will be supported here soon.

So, when? Im waitting for you, thanks!

@jlinktu
Copy link
Member

jlinktu commented Feb 9, 2023

A bit more patience required.

@shandongtlb
Copy link

A bit more patience required.

Okay, waitting for you thanks!

@TQMatvey
Copy link
Author

TQMatvey commented Mar 7, 2023

Hello, it's been 2 months, tiny bump, any news?

@TQMatvey
Copy link
Author

Uhhh any news..?

@TQMatvey
Copy link
Author

@jlinktu could you send nexmon-magisk.zip for testing on S21 Ultra?)

@jlinktu
Copy link
Member

jlinktu commented Oct 26, 2023

Hi @TQMatvey,
no, I don't provide already patched firmware. You have to build it yourself.
But you can try using the one for the Pixel 7 Pro, might work as well.

@TQMatvey
Copy link
Author

Hi @TQMatvey, no, I don't provide already patched firmware. You have to build it yourself. But you can try using the one for the Pixel 7 Pro, might work as well.

trying to make in nexmon/patches/bcm4389c1/20_101_36_2/nexmon ends up in errors

image

i have tried different NDK versions, sourced setup_env.sh..

@jlinktu
Copy link
Member

jlinktu commented Oct 27, 2023

Try with NDK r11c (download here) as stated here.

@jlinktu
Copy link
Member

jlinktu commented Oct 27, 2023

Btw. the firmware image on the Galaxy S21 Ultra is named bcmdhd_sta.bin_c1 and for the Pixel 7 Pro it is called fw_bcmdhd.bin. So you would need to adapt the build process a bit to be useful...

@TQMatvey
Copy link
Author

Try with NDK r11c (download here) as stated here.

did not help...
https://katb.in/anekuxoyono

@TQMatvey
Copy link
Author

upd: fixed, had to go into utilities, and compile there first

@TQMatvey
Copy link
Author

flashed, wifi is dead, i adapted fw name and path (/vendor/firmware/wifi/bcmdhd_sta.bin_c1

nexutil -V
__nex_driver_io: error ret=-1 errno=22
__nex_driver_io: error ret=-1 errno=22
Segmentation fault

not sure what to do from here at all...

@savox-326
Copy link

@jlinktu, so, I see that new firmwares (bcm4389, bcm4398) are not supporting monitor and injectoins. Does it mean that newly bcms unsupport it (very hard to add). Or we just need wait until you add it

@jlinktu
Copy link
Member

jlinktu commented Dec 1, 2023

Hi @savox-326,

it is still possible to add monitor mode and frame injection to those firmwares

if you want it quick and simple, you might copy the code from one of the prior chips like the bcm4375, of course you need to adapt some bits here and there, add the right dummy function addresses and structs and their members

however, as the 4389 and 4398 are 802.11ax and 802.11be chips they should have new things that might be worth adding, so if I would add monitor and frame injection I want to do it in a proper/clean way, but I currently don't have the time for that - might be something for the future though

regarding the 4389, on samsung phones they ship monitor and manufacturer testing firmwares that should already contain functionalities for monitor mode and frame injection, you might want to play with these if you don't want to do the patching

@savox-326
Copy link

@jlinktu can you tell how find addresses of functions? In example latest bcm4375 firmware has 0x13c68b length but the ucode extractor references to 0x289a58 or bigger values of length. Same history with patches. So can you explain what to do?

@jlinktu
Copy link
Member

jlinktu commented Dec 9, 2023

Matthias' PhD thesis (here) and the linked papers (here) provide detailed insights on how to work with these firmwares. I.a. that the firmware blob is not necessarily loaded at address 0x0.

@jjbyrnes29
Copy link

jjbyrnes29 commented Jun 6, 2024

I'd hate to necropost an open issue here, but if there's any update on support for the BCM4398 on the Pixel devices, I'd love the ability for monitor mode as well

@jlinktu
Copy link
Member

jlinktu commented Jun 6, 2024

This issue is on the bcm4389, not on the bcm4398. But, yes, at some point we might add monitor mode for it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants