-
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
Gemini PDA #60
Comments
You can't compare airodump-ng with hcxdumptool, because airodump-ng is passive (only receive packets) and hcxdumptool is active (receive and send packets). Therefore we need a driver that support full monitor mode and full packet injection. Your driver doesn't do this. |
I can set a channel.
|
Pushed an update (option --ignore_warning) Set your interface to monitor mode and bring it up run hcxdumptool: |
Here are the results:
Not sure if any of this helps, but with the older kernal, I get this error from airmon-ng. I always had to setup monitor mode manually
How I setup wlan1mon:
|
It looks like the driver doesn't support SIOCGIWMODE and SIOCSIWMODE. So now we do not check this flags. Both flags are used if hcxdumptool set monitor mode. |
Results:
|
Ok, we sucesfully ignore this one: failed to save current interface mode: Operation not supported |
Here are the results:
|
Is iw able to set a channel? We use SIOCSIWFREQ to set a channel. Unfortunately we can't ignore this. |
Yes, that command successfully changes the channel of the interface. |
hcxdumptool uses ioctl() commands to control the interface. Unfortunately the driver (x27) doesn't support this. If we send and ioctl() command, in every case the driver reports "Operation not supported". This error message is not generated by hcxdumptool. It is the orignal message, we recieved from the driver (we use perror() to print it). |
I tried two devices on this old kernel; RT5372 and RT2870/RT3070 with an external USB drive. Here is the kernel: https://github.com/Re4son/gemini-kali-linux-kernel-3.18 Do you think if I tried to update the drive it might fix it? Is aireplay-ng using something different to control the channel of the device? Thanks for all your help! |
hcxdumptool need full (and exclusive) access to the interface! That includes also wrapers. Running your command, you add a logical(!) monitor interface: What happens if you try to set the interface to monitor mode running this commands: Please post the result of every command. |
Here is an example, how it should look like: $ ip link set wlp3s0f0u10u2 down hcxdumptool -I should show you suitable interfaces |
Here it is very well explained: BTW: Do you think if I tried to update the drive it might fix it? Is aireplay-ng using something different to control the channel of the device? |
I followed the steps above and got no errors and my
When I run wlan0 is the built-in wireless device and does not support monitor mode. |
The driver (or the wrapper) doesn't support ioctl() commands: SIOCGIWMODE, SIOCSIWMODE, SIOCGIWFREQ, SIOCSIWFREQ. This commands are main part of hcxdumptool to control the hardware interface (wlan0). Every time we run such a command the driver tell us that it is not supported (Operation not supported). So there is no chance to use hcxdumptool in combination with that driver. |
Are you sure, that you followed the instructions? |
I am following the instructions, yes. wlan0 is the internal wireless chipset that does not support monitoring mode. I am not sure why it would be listed when running I followed the instructions to not use a virtual interface by doing the following:
the output of iw dev showed the device information including the channel and then I could change the channel with Using this non-virutal interface still gave the same results with hcxdumptool. |
Read more about the difference physical interface vs logical interface here: |
Ok, we are talking about an external interface. Please post the output of |
if you don't have lshw installed, you can use BTW: |
|
Hmm. I'm running 2 systems here (kernel 4.19-lts and 5.1) and hcxdumptool is working fine on both of them. $ lsusb $ ethtool -i wlp3s0f0u10u2 | grep driver $ hcxdumptool -I $ hcxdumptool -i wlp3s0f0u10u2 -C $ lsusb $ ethtool -i wlp3s0f0u10u2 | grep driver $ hcxdumptool -I $ hcxdumptool -i wlp3s0f0u10u2 -C I'm running out of ideas, because I'm not able to reproduce it on latest kernels. |
We had/have some ugly kernel/driver issues. I started with kernel 4.4 to report them. This one is present from 4.19 up to latest kernel and affects all ALFAs: And the GEMINI kernel isn't upgraded over a long time. |
To get wlan1 to work in the first place I had to install firmware-ralink which installed firmware-misc-nonfree. Do you think the issue is with the rt2800usb driver provided by the kernel or the firmware provided by firmware-misc-nonfree?
|
Looking at strace with airodump-ng, I do see the same issues of Operation not supported in the output. Maybe airodump is falling back to another method?
|
I don't think it is firmware related. Fallback for hcxdumptool is --ignore warning. In that case we don't check whether the interface is in monitor mode or not and you can activate monitor mode running his favorite tool. Is there a SIOCSIWFREQ in the strace. This ioctl() set the channel. Do you use aircrack-ng 1.5.2 or an older version? |
Major problem is that hcxdumptool doesn't detect the driver. First we run getifaddrs() to retrieve all interfaces. Than we do a walk through the interface list and look for wlan interfaces. If we we got a driver error, hcxdudmptool report it and hcxdumptool will terminate: If we detect a monitor interface, we will report that, too: but hcxdumptool doesn't terminate. So I think the issue is within getifaddrs(). |
In this example I connected 4 USB WiFi devices via USB 2.0 hub: All of them are detected by getifaddrs(). |
|
Ok, that error is from SIOCETHTOOL |
Pushed another update to get an additional error message from the driver, before we call SIOCETHTOOL. Please pull and try |
|
It looks like that most ioctl() commands are disabled by GEMINI config, so that we can't use them. |
Not showing anything different
|
I don't see a chance to get hcxdumptool working with the GEMINI configuration. |
Is this something that you think we can enable the ioctl() commands to make it work? |
I don't think that we can handle that in an easy way. The GEMINI config is really "hard core". CC ?= gcc you will get additional information about all interfaces. |
|
That is the main point and the reason why hcxdumptool doesn't work running the GEMINI kernel: You should ask the GEMINI-KALI developers about the difference between a standard Linux kernel (https://www.kernel.org/) and the GEMINI-KALI kernel. BTW: Maybe it's a good idea to report the ioctl(issue) on the original version: But keep in mind: The upstream Linux kernel maintainers only fix bugs for specific kernel Please see https://www.kernel.org/ for a list of supported kernels. Any |
Additionally you can use another tool to test the interfaces: $ ./is_wireless Let's see if it detect wlan1 |
This is a very interesting statement: "Control: ioctl should be your first choice, unless there’s an overriding reason, due to its immediacy and reliable delivery." I fully agree with this! |
|
How hard would it be to put together a sample code showing the issue? I think that would be best if I was going to submit a bug to them. |
interface wlan1 is not wireless: All kernels from here: |
I added an issue, thanks again for all your help |
Great. I noticed your issue report there and I am looking forward to the reply. There has to be a reason to choose this way. I explained my reason not to do it that way. |
By latest commit: |
Do we have some new information about the ioctl() behavior from Gemini PDA developers? |
I have heard nothing new from them. Would be nice to get more info. |
Ok, let's wait.... |
Pushed another update. If an error ocured, hcxdumptool will inform you about possible unsupported/not working driver system calls. |
Closed, because we got no further information and the issue isn't related to hcxdumptool (driver and/or system configuration issue). |
add travis support
At least I think I know why it isn't working as expected. |
I have a Gemini PDA with Kali Linux on it running a very old kernel of 3.18.41 (that is all that is offered).
I know that airodump-ng works with the older kernel, but is there a way to get this tool to work? I tried to use the android ndk builds, but no look.
The error I get is:
The text was updated successfully, but these errors were encountered: