-
Notifications
You must be signed in to change notification settings - Fork 403
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
Android Operation not supported on transport endpoint #192
Comments
From --help:
From README.md Adapters section:
Please comment output of: If all mandatory ioctl() system calls are supported by the driver(!), output should look like this:
If the driver doesn't support this ioctl() system calls, there is nothing we can do. |
there is only one error
I solved with this patch
I removed the set of monitor mode. |
Please read more here: |
If you run iw to set monitor mode, NETLINK will be in use. You can verify this by running iw in debug mode:
|
Ok thank you |
Also you received a warning that hcxdumptool has no full access to the adapter to control it: |
this appear because the first I tried to run the tool from adb shell, now the wifi is off and wpa_supplicant is off |
Please comment output of --check_driver. |
This is the output of --check_driver and there is only one error, I think is acceptable because the interface is already in monitor mode
|
No, please do not run hcxdumptool on the monitor interface. |
Running hcxdumptool on the hardware interface, it will show exactly what ioctl() system calls are not supported by the driver. |
Running hcxdumptool if monitor mode was set before, all this tests are skipped: |
without patch I got
with patch SIOCGIFNAME replaced with SIOCGIFINDEX I got
not commands executed on wlan1, it's the default interface created I attach usb
|
After I removed all code which set the monitor mode works when the interface is already in monitor mode, is not perfect but is good for me. |
Ok, thanks for the tests. Now we knot that not all ioctl() system calls are supported. |
yes injections works I have always used with aireplay-ng
|
Looking good. |
Sure, my patch is temporary just for understand if works on android and virtual interface. |
Please try latest commit: Now we don't try to restore the settings on exit if the interface is already in monitor mode during init. |
To remove NETLINK detection is dangerous, and will lead to many issue reports that some attakcs are not working as expected or that channels couldn't be changed. |
With lastest commit errors on exit disappear but I have issue also on
and I replace with
I have issue also with read of status of monitor mode
|
By this commit
|
Good without patch works, I have still the issue on switch channel
|
I can't fix that issue, because this ioctl() call isn't supported by the driver. I think we can close this issue, because doing channel switch by NETLINK is no option. |
the driver ath9k is the same used on normal linux |
Looks like the Android driver is compiled with NETLINK dependency. I've seen something similar on rt2800 driver , too: |
BTW: |
Here is a nice example. vs. set channel via ioctl():
(no overhead, immediate channel change) BTW: here we set the channel: here we check that the interface is really on the chanell we have set:
If this is not the case, we increase errorcount: By force_interface, we ignore this count:
That is dangerous and can cause that hcxdumptool jam (transmitting requests as long as no response was received) a complete WiFi channel. |
Is CONFIG_CFG80211_WEXT=y present in your kernel defconfig file? |
Sorry for the big delay and big thank you for your work and your support. CONFIG_CFG80211_WEXT is not present in my kernel on android. My enviroment is:
I have 2 raspberry Zero W and not W, I'm evaluating to use W and the actual usb adapter or buy a device with mediatek MT601. I will try also to enable CONFIG_CFG80211_WEXT |
I tested latest commit and works very well, with virtual device created in monitor mode I got many PMKIDROGUE |
Switch channel apparently doesn't work (iw dev show always 1), but when the tool show informations, the second column (now I understand is channel) has different numbers. |
Part of my kernel default config:
As you can see, WEXT is enabled:
CRDA is enabled, too:
It is mandatory to set wireless regulatory domain. If the domain is unset (kernel default settings), hcxdumptool will not transmit on several channels (e.g. 12, 13, (14) and nearly all upper 5GHz channels). |
Today I compiled the kernel for android and I inserted
all errors on ioctls disappear, --check_driver works give me only a warning on "interface already in monitor mode". |
No, it isn't a stupid issue. The problem is related to the maintainer of the kernel. If he decide to disable some values, some features will not work (as expected). |
I have a ath9k usb interface already in monitor mode created as virtual interface
iw phy phy1 interface add mon0 type monitor
I tested airodump-ng 1.6.0 and works without issue but when I run
hcxdumptool -i mon0
on android 11 LOS 18.1 I have this errorI tried also to set selinux in permissive mode but no changes.
The text was updated successfully, but these errors were encountered: