-
Notifications
You must be signed in to change notification settings - Fork 93
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
Tested devices #2
Comments
Tested Sony Xperia Pro (MK16i) running ICS 4.0.4, with an OTG cable that is known good (used with other software on that specific device). I know this is an old and crappy device, but it has hardware QWERTY, hence I am using it. |
Hmm ok that's interesting, never had anything like this. Too bad that the log doesn't work, I wonder why. The Test_HackRF app also writes a log file to [sdcard]/Test_HackRF/log.txt Maybe there is some output in this file? It will be really hard to debug that bug without logs -.- Do you know how to you the android debug bridge (ADB)? With this tool you could display and record the logs yourself. All you need to know is on this website: At the very end of this site they explain how to use ADB over wifi, which is necessary because you need the USB port for your HackRF. |
Ok, the problem might be in these kernel messages that are seen when plugging in. Hypothesis: Not able to supply enough power and it fails later due to that. What do you think?
This is what is output when trying to use it, and when disconnecting
|
Ah that's too bad. Yeah I think you are right. This message is pretty clear: Hmm so it will only work on the Xperia Pro if you use a powered USB hub or a Y-OTG cable that allows you to power the device externally. Thanks for testing, I will add that info to the readme, so that others know the issue. |
Tested the HTC M8 from ATT. It works with HackRF One. Everything works perfectly, was able to replicate the FM demo in the video. |
@dmaynor awesome! I'll add the M8 to the list. You might wanna have a look at the RF Analyzer (https://github.com/demantz/RFAnalyzer) as well. Should work for you. |
Hi, I tested a few other devices:
I tested scanning with the RF Analyzer app and the default settings (FM band 88-108 MHz) and demodulated one wideband FM radio station somewhere around 95MHz. |
HTC Nexus 9 compatibility: HTC Nexus 9 (32GB, WiFi), Android 5.0, rooted The app creashes when starting scanning.
I tested also a USB flash drive and a USB mouse to make sure OTG itself is working. I sent a bug report for this issue via Google Play for the RF Analyzer app - it might contain additional details. |
@fruel first of all thx! That is an excellent bug report! Note that the device is now at /dev/bus/usb/003/004 instead of /dev/bus/usb/003/003. I've never seen that before and honestly don't know what to do about that. It looks like the HackRF is reset at exactly the moment of opening it. If you wouldn't have said you tested it with a powered hub I would say it looks like a power problem.. Have you tried it with the Test_HackRF.apk too? I don't really expect something different. But just to be sure it is not a multithreading related problem .. |
I did some more research what the issue could be: With Test_HackRF.apk I get the same results.
The problem is that this call returns The kernel log shows:
This confirms that the device is reset and immediately reconnected with a new device number. But it does not say anything about the reason. During most of those tests I connected the HackRF though a powered USB hub to the Nexus 9. I also connected a mouse to the hub. The mouse stayed connected and active the whole time - thus I can say that only the HackRF gets reset and not the whole USB stack/driver. Another thing I tried is changing the VID/PID in the library source code to convince it that my Xbox One controller is a HackRF. Of course Info/RX/TX does not work but the connection to the device could be established successfully and Android 5.0 itself can't be the issue either as it works fine on the Nexus 5. |
Works perfectly for my OnePlus One with nethunter... It would be nice to get more features...(sending audio from file, or mocrophone etc.) |
Thx for testing... I'm currently working on RF Analyzer (https://github.com/demantz/RFAnalyzer) and it takes up all my time. But I want to release another app that does all the TX stuff you mentioned ;) |
Please inform me, when there will he something new for tx..
|
I'm still far away from digital modes... but I find them very interesting too ;) we will see.. I'll keep you up to date about the TX stuff! |
Thank you very much for all your effort.
|
Hi, I test on my sony L50t(Android 4.4.2). It can get the information of Hackrf one ,the usb can work. Also view spectrum from ours Handheld Spectrum Analyzer. I try to send something and receive by the other Hackrf board. As the result, the other Hackrf cannot receive the correct data. The latest version can receive and send information ? If transmit nothing in one frequency, the Hackrf also can get something like noise and different board would different. |
@zjchen I'm not sure if I understand all details of your problem. The driver and the test app are both able to send and receive data with the HackRF. Transmitting data with the app and receiving it with a RTL stick on my laptop works fine for me on my Nexus7 and Nexus5. So your setup contains 2 HackRF boards connected to 2 Android devices and you are using the hackrf_android driver together with your own app? There are many things that could go wrong in this scenario and I don't know where to start.. could you give me some more information (maybe even some source code snippets of how you interact with the driver)? |
Any update?.. 2015-06-03 12:57 GMT+02:00 Dennis Mantz [email protected]:
|
@demantz I bush string in queue by "byte[] packet" and "transmitLoop()" also send data to usb interface. Maybe the data i send go wrong. As you say, i use two Hackrf one and two android devices. By the way, could you provide the file "hackrf_android.iq" you use ? |
@zjchen You can use every file you recorded with the hackrf_transfer tool by Michael Ossmann. Here is an example I uploaded some time ago: http://www.file-upload.net/download-9711411/flex_2000000sps_931MHz.iq.html Note that the samples have to be in the format of interleaved, 8-bit, signed IQ samples (in-phase component first, followed by the quadrature component)! |
@demantz thinks for your share firs. We use this file transfor by harkrf and receive by other harkrf. Just change the frequence. When I compare the file from receive point and the file you share, they are different. For this project, is it cpu push the iq data to usb and hackrf send by itself? Sometimes, I have no idea that my operate is ok. |
@demantz in the process of debug, I check value "packet" in the function transmitThread() line 656 "if(queue.offer(packet, 1000, TimeUnit.MILLISECONDS) == false)". The data get from file is correct and it just push the packet to the queue and do nothing. Should I setting something ? In hackrf.class, the data push to queue "packet = (byte[]) queue.poll(1000, TimeUnit.MILLISECONDS);" |
@zjchen I'm sorry, but I don't understand what your exact problem is. Could you describe it again? The packet is pushed in the queue by your application. The TX thread will then read the packet from the queue and send it to the HackRF via USB. The HackRF will then transmit the samples. Of course you have to put the HackRF in TX mode first by calling startTX(). This will start the TX thread. Please also note, that the data you will receive on the second HackRF will never exactly be the same as in your original file. What you are transmitting here are raw IQ samples. They will get distorted, mixed with noise and other signals. If you want to transmit any data you would need to implement some sort of modulation and you also need to filter the signal accordingly. |
@fruel I know this is a really old thread. But I just got an email of someone with a NVIDIA shield tablet and he has the exact same issue (as you predicted). However he managed to work around it: "Hello, I have found a fix; if I plug the hackRF into a USB hub, the hub into an otg adapter, then restart the app a few times and try different ports on the hub, it connects and works perfectly. Very, very odd." "Whoa, actually, if I just try enough times without the hub, it connects on the fifth attempt or so. Just spamming the "play" button solves the problem. Wierd." So this seems to be hardware related. I hope this helps others with the same issue! |
FWIW, I just posted a solution that worked for me to what I think is / might be the same issue: offensive-security/kali-nethunter#401 (comment) |
Nexus 6 working fine! |
Tested Ver. 1.06 on my Samsung S3 LTE (GT-I9305), running CM 10.1.3. Works perfect up to 10 Msps. Passive OTG-Adaptor.
The text was updated successfully, but these errors were encountered: