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
Could not load FalconFirmware #45
Comments
What OS are you on? |
OpenSuse (Unix) |
Ok, well, let's try the old style black magic solution first. Do you have the falcon plugged into a USB hub, or directly into the machine? |
This started working for no apparent reasons. |
Aggggggggggh whyyyyyyyyyy. We just resolved #33 'cause I thought this was over and done with. I guess I'll put more notes in the readme about it. :( It's something that's been a problem since this project started 9 years ago. Just never took the time to properly debug it. |
Um, actually, I just found out a Pull Request we have that I need to work on rebasing might have a fix for this? Can you possibly pull this patch in and see if it works for you? |
I just rebased the pull request that fix was in ( #30), it's now the gb-fix branch of this repo. So, if you just pull and try the branch, the fix should be there. |
Could not find the |
Oops, pushed it to my personal repo, not this one. Just fixed that, sorry. |
Could you maybe rebase it on the current master and force push it? I can not test without the cmake changes since I use libnifalcon as a subproject |
Rebased and pushed! |
Tested: half-success: this branch fixes my first issue that was happening in For
For
Error : Not sure if something changes for the check_sum since this branch, but I had the checksum issue before too. That new branch still seems to fix the other issue so I would merge it if you think the rest looks good, i can work by setting |
Ok, everything else looked ok enough, so I'm pushing it. Will leave this open to see about the checksum errors though. |
Updated the info in the issue. Do you think this could be due to a wrong |
Can't say for sure off the top of my head. I basically just need to go back through and audit most of the code since I've been doing this for more 9 years more than I had when I originally wrote this, so I'm sure there's all sorts of "WTF WAS I THINKING" involved in this (for instance: all of the templates and boost stuff). Just may be a week or two before I can 'cause I've kinda got too many things going on at the moment. :) |
Hi all!! I am new with Linux, Falcon and libnifalcon. Basically I would like to use Falcon to control a robot (SeekurJr) using a ROS package. But, first of all, I would like to try the libnifalcon examples. I am getting the "could not load firmware" error. Can anyone help me please? I read about the powered usb hub no longer being necessary, still connecting it directly to my computer didn't work. I am using Ubuntu 12.04. Thank you so much in advance! Kind regards, Aline |
Dear Aline! Kind regards, Daniel |
Hi Daniel! Kind regards, Aline |
Ahh guess what! It simply worked now... ¬¬ I called: ./falcon_test_cli --device_index 0 --nvent_firmware --cube_test It worked on my VM.. now that I tried my robot it didn't work. What a weird thing.. Sorry to bother you guys! Kind regards, Aline |
Hi all, I'm also having problems, I somehow managed to get this and Rosfalcon to work on my laptop (running ubuntu 14.04) about half a year ago for a project. Now I'm trying to run it on another computer and libnifalcon just doesn't work... and that's it... running with sudo manages to open it but then can't load firmware :( It somehow worked on my laptop even without sudo, although rosfalcon always failed to load firmware so I had to run findfalcons every time before running it. Any help would be very appreciated :) Oh, I also tried this from a VM running on the original laptop but got the same results.. |
Hi RisinT96! Yes, you always have to run it with sudo to be able to open the device. I think that it works fine in your computer because for some reason your user already has this kind of privilege over the usb device. About loading the firmware, what worked for me was to run the other example: ./falcon_test_cli --device_index 0 --nvent_firmware --cube_test (I realised that the --nvent_firmware parameter is not actually necessary, since there is only one firmware to be loaded after all...) I am now facing another problem that is, for some reason, after a quite short time the call m_falconDevice.RunIOLoop() is returning false, that means that whatever I am running stops to work; it is as if communication with the falcon would get lost. Do you have this problem as well? Kind regards, Aline |
Hi Aline, Unfortunately running falcon_test_cli doesn't help at all, it fails just like findfalcons. I had a clean installation of ubuntu 14.04 on my laptop and installed libnifalcon, findfalcons worked flawlessly through all the usb ports without sudo permissions. I have a version of rosfalcon modified to work with standard ROS topics (instead of the custom falconForces topic), this is all hooked up to matlab through ros in order to control a clearpath jackal robot, all of this seems to have worked without any major problems for the last year or so and I don't want to touch my installation of ubuntu before I manage to get it running on another machine. Trying to get this to run on another computer, I haven't gotten to running rosfalcon yet, because libnifalcon doesn't properly work... I tried compiling it to use the libftd2xx library instead of libusb (I read somehwere that the libusb version has trouble loading up the firmware) but it netted no results :/ ... still fails to open without sudo, and manages to open but fails to load firmware when run with sudo. Big thanks to Kyle for even creating this driver, without it my project wouldn't have even become a reality. |
Hi all! Did anyone manage to fix this issue or has some workaround? If not then I'm more than happy to look into it. I would appreciate any advice. I don't have too much experience with cmake so I would be grateful for any info on how to enable logging (I saw ENABLE_LOGGING in the files). Edit:
After I run it for the second time it succeed and now all examples run fine! |
Hi RisinT96! I am very sorry I was gone. But actually I didn't know how could I help you. I am very bad at this.. still learning and struggling here also... Any update from you? And yes! Big thanks to Kyle for developing this driver! @msadowski I really don't know why but not I am not having problems with loading the firmware anymore. What I did was using as example the code for the falcon_test_cli because it was working. But I am still facing the communication problem. That is, for some reason, after a quite short time the call m_falconDevice.RunIOLoop() is returning false, that means that whatever I am running stops to work; it is as if communication with the falcon would get lost. Does anyone have this problem as well? Or know what could be causing it? I tried to do some tests here in the lab but I had some problems with the computer and with the holidays and other things to do I have still not solved it. And now I have another issue: I am not being able to read the buttons :( Can anyone help me with that? Maybe I am not calling all the functions I should or something like that. So far I do:
I just found the runGripLoop function but I am not sure how to use it or even if I have to use it. Best regards, Aline |
Dear @aline-fidencio , as far as i know you have to continuously call the runIOLoop, otherwise the connection closes after some time. So when you are not using the falcon, you still have to call it to not close the connection. Hope this helps, Daniel |
@aline-fidencio: I didn't experience communication issues (but as @dRacz3 mentions I'm continuously calling runIOLoop()). I tried running your snippet and for me it was sometimes crashing on your assignments to button_arrays. In FalconTest.cpp from example files the code used to get buttons state looks like this:
Good luck! |
Hi Daniel! Thank you for the reply. In fact I am continuously calling the runIOLoop:
This is what I get when running my ROS node... What is weird to me is that sometimes I get this errorCodes = 2000 but sometimes they are all 0! Therefore I could not identify the reason why runIOLoop is returning false. Do you happen to have any ideas? @msadowski , as for the buttons, thank you so much. Your code worked fine!
After some testing it started working without it.. but that is very weird to me that before I needed it... Thanks guys! Best regards, Aline |
@aline-fidencio: about your code starting to work suddenly I'm wondering if it's related to the original issue of loading firmware. If you run findfalcons program does it work straight away? Can you make a test where you successfully run findfalcons and then try to read buttons normally? I'm wondering if you will have to run the code that you showed or will it work straight away after findfalcons works correctly. |
@msadowski I wanted to try what you suggested but, in my case, findfalcons is not able to load the firmware.. I tried over 10 times. I am still with the error about the RunIOLoop returning false... a very annoying one because it takes lots of my testing time just to reconnect to the device.. Thanks. Aline |
@aline-fidencio: I will let you know if I run at similar problem! Are you using your falcon code with ROS? Any chance you could share your CMakeLists.txt? I don't seem to be able to link the libraries properly. Update to not spam: Since this post is largely offtopic let me know if you want me to remove it! Thanks, |
@msadowski sorry for taking so long to reply again. Just now that I was about to post my CMakeLists for you I saw your update. I am really sorry for no replying before. But I am glad you got it working. Next time I will be faster. Aline |
Hi everyone.. I am still facing some problems with the Falcon driver.. I call
Has anyone had the same problem or could give me some hint? Thanks, Aline |
Hey all, After a long time of trying to make it run, I found the source of my problems. ("cannot open falcon") Running it as sure gave me a lot of problems since I was trying to create a ROS node that communicates with the falcon, and running the nude with sudo was quite problematic, and very unwanted. Hope this helps someone, EDIT: Need to place it under "/etc/udev/" Though I must note that even now, once in a while the device stops responding and I have to restart the rosfalcon ROS node, which is a bummer. |
Hey ! I know about the udev rules for a while... maybe I didn't configure it right so it will be nice to check with yours.. Funny is that the error also occurs when I run the findfalcons example. Thanks in advance, Aline |
Updated my previous comment :) |
Hi Everybody! This has been a very helpful thread to read through as I'm working to get my falcon to work. Unfortunately I still am getting the "Could not load firmware" error when I try to test that things are installed correctly with findfalcons. I may have missed it, as much of this thread is a bit over my head, but has someone found a definitive solution to this? The falcon is plugged directly into my computer (no usb hub), I am running with sudo, I have tried running findfalcons 10+ times and haven't seen any differences, falcon_test_cli has the same issue. My issue seems to be along the same lines as @RisinT96 's early post. I tried adding the new udev file that he posted, but that didn't fix the issue for me. Any ideas would be greatly appreciated. Thank you! |
@msadowski Hi, I have the same issue (findfalcons works only after 2nd attempt) Did you solve that issue? |
@henryng375 I didn't manage to solve it. I only had an access to falcon for couple of weeks for some proof of concept work. |
Hi,
I am running into a wall trying to run my Novint Falcon.
Here are my steps simplified :
Opening the device succeeds (returns
true
), not loading the firmware (loaded
alwaysfalse
).I get
FALCON_FIRMWARE_CHECKSUM_MISMATCH (3004)
error at the end ofFalconFirmware::loadFirmware()
:For
READ_SIZE = 62
, if get the error fortotal_read = 0
bytes_check = 0
i=44
.For
READ_SIZE = 58
, if get the error fortotal_read = 0
bytes_check = 0
i=26
.Is there anything else to do than set
FalconFirmwareNovintSDK
to load the firmware successfully? I did this based on the barrow_mechanics and findfalcons example.The text was updated successfully, but these errors were encountered: