For this that have been following my experiences with the Intel Edison, you'll see that the initial blog has grown.
It's been an interesting exercise to determine what exactly is going on, and like most of these things a learning experience.
Following on from First Steps - Intel Edison step 5
Power
The last blog was successful in flashing the image and writing an Arduino sketch to the Intel Edison.
I made sure I powered it down using the PWR button and holding it for 10 secs.
Once I tried it on my home computer, it started having the connect, disconnect and rebooting issues I had earlier.
If I stopped the boot process it settled down, but wasn't available to the computer (apart from a PuTTy session).
By this stage I was convinced it was the drivers, but then the thought it might be USB power causing it.
Obviously I couldn't power it using the external jack since the regulator had died.
The next best thing was to power it using a one of my Rpi Power adaptors.
Lo and behold it fired up and the rebooting issue went away.
I still have an issue with connecting to my computer, but at least I know it's not the Edison but has to be driver/USB related.
USB Power
USB sockets are usually set to 100mA, unless the driver/device negotiate a higher amount which can be 500mA.
Some power adaptors are the same, with tablet models able to go up to 15v when they detect their device on the end.
Different motherboards will have different management so there can be differences between machines with the same OS.
I suspect that is why my Laptop was quite happy, while the home computer isn't.
The next step is try a different USB outlet.
Many computers have front mounted ones, and others on the rear.
I plugged it into a rear one and it fired up and stayed up.
The drive was available and while it wasn't running the Arduino sketch I had loaded previously (there is a setting to make it run on bootup)
It was working correctly.
Learnings
It seems that power issues can cause problems that might lead you to the wrong conclusions.
The Intel Edison obviously draws more power during the boot sequence, and that two different computers may handle it differently.
Do try external power to eliminate the computer aspect.
Don't give in.
Since these experiences I have found the Edison forum.
The Intel folks are very helpful and follow-up on issues, so it looks like a very good bookmark to add.
https://communities.intel.com/community/tech/edison/content
I'd join BUT
Really ... it's a forum, and these stupid password rules have been shown to be ineffective.
I don't have issues with 6 characters and uppercase, but 8 characters and a special character.
Version
The proper method of finding the version number of the image is to type this in a PuTTy session.
configure_edison --version
However mine comes back with
You should be able to find out using
cat /etc/version
Many of the other posts on the internet have a number, or other information.
I'm assumming this was the 8th day of July 2016 at 1705.
But equally being american it could be the 6th day of August 2016 at 1705.
I guess we'll need to quantify that ..
I found this piece of information provided by Intel
https://communities.intel.com/message/387630#387630
Your Edison is indeed flashed with the latest image, and everything seems to be fine.
Regarding the configure_edison --version command, it doesn't retrieve the version on this Yocto image, that’s why I asked you to run the command cat /etc/version instead, because the configure_edison --version doesn't provide any useful information on this image.
So it seems that the later versions don't have it in.
Not sure why someone would think that's useful (removing it) but ....
Arduino
Now that it is stable I can return to trying different things using the Arduino IDE.
The first is where does it download the sketch to
A bit of digging finds it hiding in /sketch directory
I'm concerned that while the line in the upload says "Deleting existing sketch on target"
Deleting existing sketch on target #Move the existing sketch on target. echo "Deleting existing sketch on target" "$fixed_path/lsz.exe" --escape -c "mv -f /sketch/sketch.elf /sketch/sketch.elf.old" <> $tty_port_id 1>&0
The reality is it performs a rename function
"mv -f /sketch/sketch.elf /sketch/sketch.elf.old"
So there will always be the new sketch and the one you had there previously.
They do talk about running out of space and deleting sketches and now you know why ....
Boards
I'm using Arduino IDE 1.8.1 and it looks like it has some clever stuff in it.
I fired up the IDE with the Intel Edison plugged in, and it immediately gave me the option to get the board
This means it has detected the board you're connected to and prompted you to install it .....Nice.
Uploading
It seems that my home computer can't upload to the Edison.
I'm getting the same refusal message about Read-only file system.
C:\Users\Beckettm\AppData\Local\Arduino15\packages\Intel\tools\sketchUploader\1.6.2+1.0/clupload/cluploadEdison_win.sh: line 56: /dev/ttyS97: Read-only file system
I don't believe it is the Intel Edison and must be a driver issue.
Searching the internet raised a couple of questions about permissions, since the COM port is converted to a TTY.
There is no ability to change the permissions of COM ports in Windows.
I did some more searching and found something about changing the port number.
If you recall the driver installed and windows allocated COM98 (and COM99).
You can change the Port number by selecting Device manager, and right click on the Intel Edison Virtual Com Port, port then click Port Settings and Advanced.
Change the COM Port Number by selecting the drop down and highlight the one you want.
Windows might complain that the port is in use (meaning it gave it to someone else), but you've got nothing to lose.
I set mine to 10 ... for no real reason and tried again.
This time my upload was successful, and the light flashed.
image stolen from the world of 0's and 1's
So I now have an Intel Edison
Oh well 4 out of 5 is not bad.
Passwords
This wouldn't be complete unless I mention about Passwords on the Intel Edison.
You can set them using the Utility tool or by typing in configure_edison in a PuTTy session.
What they don't say is you can't remove it ...
Luckily during my digging around about permissions, I ran across this.
5. Re: How to delete Edison root password
Intel_Raad wrote: If you forget Edison root password and you need to remove it then execute this Arduino sketch: void setup() { system("cp /etc/shadow /etc/shadow.save"); system("cp /etc/shadow- /etc/shadow"); } void loop() { } which is a nice example of how security critical Arduino sketches on Edison are. They give you full root access without login ... I wonder whether this shouldn't be restricted (even if this means you would have to reflash in a case of pw loss). E.g. running as "arduino" user or likewise running in chroot jail
So it seems that the security for an Edison isn't that great.
There is a second method
I tried this one ....
https://communities.intel.com/thread/102111
This message was posted by Intel Corporation on behalf of https://communities.intel.com/people/HannaJen
Hi Amit,
You would have to modify the file /etc/shadow. Follow the steps below to delete the root password:
1. Run the command: cat /etc/shadow | grep root
2. Copy the output from the command above. This is the information of your root account. You will see something like root:sdfhowe934rbwg23:11111:0:99999:7:::. What it's important here is the string located between the first two colon marks. This is your current password which is encrypted. If you want to remove it, you have to delete that string.
3. Run the following command to remove the password: sed -i "1s/.*//" /etc/shadow
Note the brackets in the command above. You will have to copy the same output you got previously but without the string that corresponds to the encrypted password. If your original output was for example: root:sdfhowe934rbwg23:11111:0:99999:7:::, then you have to use the following string: root::11111:0:99999:7:::, so the command should look like sed -i "1s/.*/root::11111:0:99999:7:::/" /etc/shadow
Then, if you run the following command again, the password shouldn't be there: cat /etc/shadow | grep root. If so, reboot the board. The next time you try to access the console, you shouldn't have to enter a password.
Regards,
Diego
I did have a password, but using the method above I was able to remove it.
Hopefully my next blog will be doing my temperature and LCD sketch that I try on all things Arduino.
Mark
This started as a simple blog, but has now grown over a few posts, so an index is appropriate.