seemoo-lab / mobisys2018_nexmon_software_defined_radio

Proof of concept project for operating Broadcom Wi-Fi chips as arbitrary signal transmitters similar to software-defined radios (SDRs)
Other
766 stars 69 forks source link

protocol not supported error when I executing 'myframe.sh' #8

Closed SniperssSs closed 7 months ago

SniperssSs commented 4 years ago

Thanks for sharing these exciting tools at first.

I'm trying to install this sdr tool on a rpi3B+ when I executing myframe.sh, it reports a long list of error, repeating: nex_init_netlink: socket error (93: Protocol not supported) nex_init_netlink: socket error (93: Protocol not supported) nex_init_netlink: bind error (9: Bad file descriptor) nex_init_netlink: connect error (9: Bad file descriptor) ERR (__nex_driver_netlink): no valid answer received

I have no idea and stuck on this for several days, anyone can provide some hints? Thanks in advance.

WangShanyue commented 4 years ago

Have you ever solved it?

jlinktu commented 4 years ago

This project only supports the older firmware 7.45.154 for the Raspberry Pi 3B+/4B and requires you to compile and install a modified brmcfmac driver (you can find them here: https://github.com/seemoo-lab/nexmon/tree/master/patches/bcm43455c0/7_45_154/nexmon) by yourself.

There will be an updated similar version of this patch in the next few months! I will mention it on the README page, keep an eye on it.

WangShanyue commented 4 years ago

This project only supports the older firmware 7.45.154 for the Raspberry Pi 3B+/4B and requires you to compile and install a modified brmcfmac driver (you can find them here: https://github.com/seemoo-lab/nexmon/tree/master/patches/bcm43455c0/7_45_154/nexmon) by yourself.

There will be an updated similar version of this patch in the next few months! I will mention it on the README page, keep an eye on it.

Does it support firmware 7.45.189 now? And how to know the firmware version of my device?

matthiasseemoo commented 4 years ago

What about just taking a look? https://github.com/seemoo-lab/nexmon/tree/master/patches/bcm43455c0/7_45_189/nexmon https://github.com/seemoo-lab/nexmon/tree/master/patches/bcm43455c0/7_45_189/nexmon

On 8. May 2020, at 15:38, WangShanyue notifications@github.com wrote:

This project only supports the older firmware 7.45.154 for the Raspberry Pi 3B+/4B and requires you to compile and install a modified brmcfmac driver (you can find them here: https://github.com/seemoo-lab/nexmon/tree/master/patches/bcm43455c0/7_45_154/nexmon https://github.com/seemoo-lab/nexmon/tree/master/patches/bcm43455c0/7_45_154/nexmon) by yourself.

There will be an updated similar version of this patch in the next few months! I will mention it on the README page, keep an eye on it.

Does it support firmware 7.45.189?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/seemoo-lab/mobisys2018_nexmon_software_defined_radio/issues/8#issuecomment-625820181, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACZ773VHHB2Y3M6YJQJQ4RDRQQDNXANCNFSM4KYQERXA.

WangShanyue commented 4 years ago

I know that my kernel version is 4.19, but the Makefile doesn't support this. When added to support this version, It was OK.

moshangqingfeng commented 7 months ago

@SniperssSs Sorry, May I ask how you solved this problem?

moshangqingfeng commented 7 months ago

Have you ever solved it?

Hello, have you solved this problem(请问你解决了楼主这个protocol not supported error when I executing 'myframe.sh'问题了吗)

WangShanyue commented 7 months ago

I’ve forgotten the specifics, but you can refer to my previous comment for guidance. Adjusting your Makefile to the supported kernel version should resolve the issue.

jlinktu commented 7 months ago

The structure of the nexmon repository has changed slightly since. The modified brcmfmac drivers are now located under nexmon/patches/driver. For reference, have a look at this Makefile, especially the targets on Line 45 and Line 186. You can adapt the Makefile of this project accordingly to make it work. Another solution would be to checkout the nexmon repository at an older state. However, then you would probably also need to switch to a much older kernel version.

moshangqingfeng commented 7 months ago

@jlinktu I'm sorry I still haven't solved the problem. After executing "make " in "/home/pi/nexmon/patches/bcm43455c0/7 _45_154/nexmon/", "brcmfmac.ko" file produced in "nexmon/patches/driver/brcmfmac_6.1.y.-nexmon" , I need to copy the file to "/lib/modules/6.1.21 v7+/kernel/drivers/net/wireless/broadcom/brcm80211 brcmfmac/"? I also need to enter "/home/pi/nexmon/patches/bcm43455c0/7 _45_154/nexmon/" to execute "make install-firmware" instruction? Thank you for your prompt reply!

jlinktu commented 7 months ago

I told you to adapt the Makefile of this project. And as a reference I linked you the Makefile of the nexmon patch, but I didn't say that you are supposed to execute it. My previous answer is still valid.

moshangqingfeng commented 7 months ago

@jlinktu Sorry, but if I do not run 'make' in '/patches/bcm43455c0/7_45_154/nexmon', the 'brcmfmac.ko' file will not be generated , my above errorwill also produce.

jlinktu commented 7 months ago

As I said, you are supposed to modify the Makefile of this project in a way s.t. it produces the correct brcmfmac.ko file for you. And you can check out the Makefile of the nexmon patch as a reference on how to do that.

moshangqingfeng commented 7 months ago

@jlinktu Hello Professor, Do I modify the Makefile of this project myself to produce the 'brcmfmac.ko' file? But by running Makefile in '/patches/bcm43455c0/7_45_154/nexmon' I produced the 'brcmfmac.ko' file. After writing this file to the system, I executed the 'myframe.sh' script and got no error, but I just couldn't get a signal at address 'wlan.addr == 82:7b:be:f0:96:e0 ' on Wireshark.

jlinktu commented 7 months ago

Do I modify the Makefile of this project myself to produce the 'brcmfmac.ko' file?

Yes, please read my previous answers again. I already told you what to do.

But by running Makefile in '/patches/bcm43455c0/7_45_154/nexmon' I produced the 'brcmfmac.ko' file. After writing this file to the system, I executed the 'myframe.sh' script and got no error, but I just couldn't get a signal at address 'wlan.addr == 82:7b:be:f0:96:e0 ' on Wireshark.

brcmfmac.ko is produced by this because the nexmon patch makes use of it too. But brcmfmac is a driver, and you also have to load the correct firmware to make use of myframe.sh. Apparently you did not read the answer that I gave you in Issue https://github.com/seemoo-lab/mobisys2018_nexmon_software_defined_radio/issues/24 . I told you there that you shall check if the correct firmware is loaded...

moshangqingfeng commented 7 months ago

Sorry, I read #24 already and I checked if the correct firmware is loaded.
But I don't know how to judge the result, could you please help me to have a look if the correct firmware is loaded. 1 2

jlinktu commented 7 months ago

As the output contains "nexmon.org/sdr" it seems you managed to load the correct firmware. Hence, you initial problem is solved and I am closing this issue here. You can continue in Issue #24 .