CORE2+ROS Dead

Help!

I have been experiencing a failure like Michael Browne, but in order to not hijack his thread and add confusion I thought it best to start my own. After an initial problem connecting with the wireless and an issue entering the SSID, I initially got my board working, connected to the Husarion cloud, and ran the test (pushbutton) program successfully.

The following night I returned home to try changing the SSID to use WPA. But the CORE2 would not reach the state where the Blue and Yellow LEDs are blinking so that I can connect my phone. Also, the Husarion server cannot connect to it. I have tried hold the hcfg button during power on for up to a minute or more, but I have only red ‘pwr’ LED on solid and l2 blinking green on about a 4 second frequency. So I’m locked out for anything.


So having read Michael’s thread, I saw the instructions to see of it was possible to flash the CORE2 over serial using Visual Studio. After some fiddling around (having never used Visual Studio before), I believe this worked fine (see below), although I don’t know how to run the program.

~/husarion$ sudo kextunload -b com.apple.driver.AppleUSBFTDI
Password:
~/husarion$ ninja flash
[1/2] cd /Users/thealy/husarion && /Users/thealy/.v…n-1.5.5/sdk/tools/macos/core2-flasher myproject.hex
Connecting to the Husarion device… OK
Checking settings… OK
Connecting to bootloader… get command: NACK(1)
Connecting to the Husarion device… OK
Checking settings… OK
Connecting to bootloader… OK
Checking configuration… OK
Erasing device… 4 5 OK
Programming device… OK
Reseting device… OK
==== Summary ====
Time: 28317 ms
Speed: 4.58 KBps (37478 bps)
~/husarion$

So I resigned my self to follow more instructions and and “…Please check the voltage on this pin…” using the image posted by @Dominik2:

If hCfg is pressed, the voltage between this pin and GND is about 0V.
If hCfg is released, the voltage between this pin and GND is about 3.3V.

But my test result is not so good:

hCfg is released: 2.4 V
hCfg is pressed: 2.4 V (Failure, it would appear)

This is with a power supply 6V @ 2amp. Does the 2.4V reading suggest this is not adequate?

Can you tell me which pins to short out on hCfg to get past that? Is it just the two connection points visible on the underside of the board? Any other suggestions very much appreciated.

Also, can you confirm that the image labeled “Stable v 1.0.0” “CORE2-ROS image”
on Downloads | Husarion Is the correct one?

Thanks,
Terry

So I decided to try and press on. I shorted the two pads on the bottom of the board which appear to be hCfg - and matched Michael’s modification. I got into the alternate blue/yellow LED mode, connected with phone, and configured SSID and WPA password. I removed my jumper and power-cycled the CORE2, went to cloud.husarion.com and added the device with a new name. (The old one went away shortly after). It says “Online”. When I select the device, it shows checks for connected to server, but the wait icon keeps circling on “Connecting to Device”.

On the CORE2, I have solid Red (power?) LED, Green blinking ~1Hz, Blue on solid, No yellow.

As before, any suggestions to move on very much appreciated.

@thealy if you see your CORE2 online this is a good news - now only thing to do is to upload your code to this controller. Everything is described here: https://husarion.com/core2/tutorials/howtostart/run-your-first-program/#run-your-first-program-connecting-via-the-command-line .

Please let me know about results :slight_smile:

If you want to open web UI of your CORE2, at first you have to define this, or use a ready to use template containging web UI files. You will find them in the Web IDE at cloud.husarion.com

OK, I did not understand that I had to go back in IDE and upload before seeing the device connected. Once uploaded it is working again.

Now to try and figure out how to talk to the ASUS board to configure ROS.

-Terry

The default software template provided in Husarion extension for Visual Studio Code doesn’t contain support for Web UI in cloud.husarion.com - we created offline tools because CORE2 can be used without cloud.husarion.com as well.

If you want to use ROS, a good place to start is this tutorial: https://husarion.com/core2/tutorials/ros-tutorials/1-ros-introduction/ .

Unfortunately I powered it off to re-arrange my power supply cable and now I am back where I started this morning. The config - or something - did not survive the reboot. Am I going to have to start from scratch every time I power off?

Configuration is only a one time process. If you have your CORE2 connected to the cloud, everytime you will power it on, it will be online and ready to use from cloud.husarion.com .

You will have to make this configuration process once more only if you want to connect your CORE2 to another Wi-Fi network.

I guess I am not being very clear. The board is doing NOTHING. Even shorting the hCfg button does not make it enter the configuration mode. I’ve already invested 20+ hours just to get it connected twice. Every time it powers off, I have to start all over again, with new errors. A faulty switch in a brand new board is bad enough.

How can I connect with a serial cable to try and debug this? I suppose I can yank the ASUS board off, but I wanted a robotics board. At this point I don’t care if I can use the Husarion cloud - I just want to ssh or remote terminal and get on with learning ROS.

Please help me get this board working or send me a replacement.

I can confirm, experiencing a seemingly identical failure as yourself, that connecting the CORE2ROS to your computer, you can re-flash it using Visual Studio Code.

However, I can also confirm that rebooting the board when it is configured to use the Husarion Cloud IDE brings back the issue you’re experiencing now. I haven’t tried a reboot when it is only configured for offline development through VSC, so I can’t confirm one way or another there.

My guess is that what we’re seeing is a combination of a batch of bad buttons (simple enough to repair, either with a hack like mine, or a new SMD button like what is there on the board as designed), and some buggy software. We’re early supporters. We signed up for hardware and software that may have some bugs, but these seem pretty minor problems in the grand scheme of things. I would be more surprised if we don’t see a solution going forward.

Thanks Michael. I appreciate the time, and agree that my childish lack of patience is probably not warranted. The board seems so promising - I just want to get moving! I was able to flash what I thought was just a small test program using VSC - based on company suggestion to you to confirm that the CORE2 board was alive. Do you mean I can re-flash the whole O/S this way? I would be quite happy to work without the cloud and be able to ssh to the ASUS board and start working with ROS there.

If this is possible, can I ask you for some basic instructions on how to use VSC to reload the O/S and then connect to the board? I won’t mess with the Cloud stuff for now. And will I have to short the hCfg for this?

Thanks.

What the basic flashing tutorial has you do is load some basic firmware onto the board. There is no ‘OS’ in the sense you and I are used to using, or even like what the Tinker board attached to it is running. The CORE2 just runs firmware that the user designs for it. Or, this is what seems to be the case with the example code I have seen. There is probably some Husarion-written software that sits even ‘closer to metal’ than the code that the user writes for the CORE2 that is rarely (if ever changed), something like VHDL, machine code, or even raw binary data, something sitting on some ROM somewhere. This is speculation on my part, mostly.

But if you are able to perform the basic tutorial flashing of your board, then your board works. It pretty much eliminates most hardware faults. There could still be a hardware explanation, but it being a software fault is far more likely. This means it will be up to the Husarion team to identify the failure and design a solution. This might take some time.

I would try writing some of your own code and see if you have any luck flashing it - see if it needs to be re-flashed after each reboot. Since it seems to center around LEDs, that is where I am going to focus with my software troubleshooting.

For USB connected programming using Visual Studio Code, are you using the image “Stable V1.0.0 CORE2ROS” Image or “Stable 1.4.4 hFramework - Husarion SDK for Hardware”?

You need both. Kinda. You need the image, you don’t need the SDK and should use the Husarion extension installed through Visual Studio Code - the SDK is overkill for just starting out.

Asus Tinker Board

Stable v 1.0.0 from Downloads | Husarion

CORE2-ROS

Visual Studio Code with the Husarion extension in the default configuration, plus updated USB drivers for the CORE2-ROS, both installed by following this video:


It seems like you only need to pull out the SDK if you are trying to develop for the CORE2-ROS on a system where you either can’t or don’t want to use Visual Studio Code (oddball Linux and Unix flavors, and other ‘geeky’ OSes that may not play nice with the Visual Studio Code for various reasons). Using the SDK is like driving a 4-on-the-floor transmission, compared to the automatic transmission that is in Visual Studio Code.

OK, I’ve been down that path, but VSC was moaning about “Please update your include path” and ‘cannot open source file “functional” (dependency of “hFramework.h”)’ so I went hunting. It flashes to the board and runs the program. I’m using a Mac, so some of the windows instructions don’t match; I also have an Ubuntu box here I can use.

What I’m still not getting is how I can get from here to being able to ssh or remote terminal into something that looks like Linux where I can run ROS things. Or how to get the wireless stack on the ASUS running so it is connected to WiFi. That;s why I was fixated on the cloud boot thing - it was on-line, if only briefly.

Thanks again.

Update: I used the tiny LED blink program and uploaded via VSC. It worked. I was hunting for code to try and do more and get at the ASUS in some way. Just before calling it quits for the night, I saw the blue LED was on. So I went to the cloud site and found the device was on-line, and I was able to connect. Using the “SSH Terminal” option under “More”, I actually got into linux land. I quickly did some usual Linux start-up things: apt-get update/upgrade, installed ntpd and started it, etc.

So this is good progress. But for some strange reason I cannot ssh to the system on the local network from my laptop. I messed with usual Ubuntu stuff, found no UFW installed, enabled passwords in ssh.conf, looked for iptables, etc. Googled the hell out if it - but still cannot get in. Will ask sysadmin people at work tomorrow. I can see the connection from the husarion cloud server.

I plan to never power the CORE2 down.

Unless you’re going to build it an impressive DC-battery backup PSU, you’ll lose all your progress at the first power outage, just to be a red team for a moment.

But I’ve had similar successes. The idea I have been playing with, but haven’t found a way to test, is that the fault lies with the Asus Tinker board. I’m starting to think that something about the boot-up stops the Tinker board from finding and/or connecting to the network. So the blink we see on L2 after a reboot is just the CORE2 looking for a network connection and waiting until it finds one before doing anything else. This is just a hunch, and is really only a hunch because I haven’t been able to eliminate it.

I’ve been swamped lately, and likely won’t get the kind of time I need to really deep-dive into this problem until mid-late December. But I’ll update my thread if I get lucky and have an epiphany.

I tried ssh again, this time from a different Ubuntu box on the local network, and it failed in the same way. Can’t even ping. I’m also moderately concerned about the huge security hole that the tunnel creates, especially since the Husarion version of Ubuntu seems not to have iptables, UFW, etc. I’m paranoid due to my day job…

In the absence of any feedback from Husarion, I think I will pry the ASUS card off and flash it with TinkerOS and see how I make out there.

Take care.

Hey Terry.

At first I want to apologies you for the time that you have to wait for response. It’s my fault so please don’t blame other members of my team.

We understand what the problem is. Now we are working on it to fix this issue. Until this time, temporary solution is to hold reset button on CORE2 until ASUS Tinker Board will boot themselves (LR2 led will turn on). About your latest post I thing that the best trial to make sure what’s the problem is connect Tinker Board to Screen and check if both computer are in the same WiFi wireless.

Regard,
Hubert.

Thank you Hubert. I can confirm the CORE2 is on on the same wireless as it is visible on the network map provided by my router software. I just tried power cycle while holding the reset and it appears to work, but does not help connectivity issue. Unfortunately I do not have an HDMI capable monitor to attach to the CORE2, so my only connection is via the SSH window on the cloud connection.

The Ubuntu network configuration looks quite different than others I have worked with. I can see it listening on port 22 (after installing openssh) for both IPv4 and IPv6, but still no connection. I will see if I can install tcpdump.

Let me know if you need me to test anything that can ehlp.
Thanks,
Terry