Bringing up Snickerdoodle

I'm going to post some of my experiences in bringing up a snickerdoodle board (assuming I eventually accomplish that feat), and I encourage everyone else contribute their hard-won knowledge of what works and what doesn't.

Development Platform
I'm using both Windows and Linux. Windows is my target development environment, but some of what I need to do requires Linux.
I'm using Ubuntu 14.04.3 (x64) on a physical machine. That's the version that Xilinx officially supports, and it seems to work. I tried at first to use the latest Ubuntu release (16.04 LTS), but XSDK crashes on startup. Vivado seems to run, though.
I'm using Windows 10 (x64) on a physical machine.

Booting Snickerdoodle
So far, I've followed the instructions in the Getting Started Guide to create a bootable microSD card (SanDisk 64 GB). If you're looking for the ROOTFS tarball, see this post from Bush. UPDATE: And this post (from me).
I've installed the microSD card, connected my sn'oodle via a USB cable to my Windows system, and found the appropriate (I hope) driver for the virtual COM port. So far, though, there have been no signs of life beyond a pulsing LED, which is the same whether there's an SD card in the drive or not. UPDATE: Snickerdoodle is alive! No WiFi yet, but how hard can that be? :-P
UPDATE2: Okay, pretty danged hard. Fortunately, Jamil posted these instructions which made it easy. By the way, the predefined non-root user is "snickerdoodle", with password also "snickerdoodle".

Anyone else making progress?


Oh, and Ubuntu 14.04.3 can be found here.
I don't have any hardware myself yet so I am just following along here - should it be possible to get the board to drop into u-boot and get to a prompt showing that the chip is alive and well ? i.e. if your com port link is good, it shouldn't be dead silent.

On Friday, June 10, 2016 at 11:21:22 AM UTC-7, Nick Burkitt wrote:
I'm going to post some of my experiences in bringing up a snickerdoodle board (assuming I eventually accomplish that feat), and I encourage everyone else contribute their hard-won knowledge of what works and what doesn't.

Development Platform
I'm using both Windows and Linux. Windows is my target development environment, but some of what I need to do requires Linux.
I'm using Ubuntu 14.04.3 (x64) on a physical machine. That's the version that Xilinx officially supports, and it seems to work. I tried at first to use the latest Ubuntu release (16.04 LTS), but XSDK crashes on startup. Vivado seems to run, though.
I'm using Windows 10 (x64) on a physical machine.

Booting Snickerdoodle
So far, I've followed the instructions in the Getting Started Guide to create a bootable microSD card (SanDisk 64 GB). If you're looking for the ROOTFS tarball, see this post from Bush.
I've installed the microSD card, connected my sn'oodle via a USB cable to my Windows system, and found the appropriate (I hope) driver for the virtual COM port. So far, though, there have been no signs of life beyond a pulsing LED, which is the same whether there's an SD card in the drive or not.

Anyone else making progress?
And set your terminal emulator to 9600/N/8/1. It's alive!
Actually, set your terminal emulator to the same values as you set the virtual COM port in Device Manager (I did say I was using Windows, didn't I?)
Hi Rob.

should it be possible to get the board to drop into u-boot

Yes, if you can get your terminal program connected in time, you get the u-boot "Hit any key to stop autoboot" prompt. I'm using the USB port for both power and serial communications, so the COM port is only available after applying power. That makes getting connected in time to see the prompt less than a sure thing. If you were powering the board through J2, it would be easier. The reset button doesn't seem to have any effect at this point.
Do you have hardware on the way?
Hi Nick,

I also receiver the odd error message upon unrolling the tar file.
Bush is going to post a compressed microSD card image for a 32GB card along with instructions for creating the card in Windows.

Thank you again for being part of the Alpha group. This is some of the usability stuff that will definitely get fixed for the production shipments.

-Jamil


On Friday, June 10, 2016 at 11:21:22 AM UTC-7, Nick Burkitt wrote:
I'm going to post some of my experiences in bringing up a snickerdoodle board (assuming I eventually accomplish that feat), and I encourage everyone else contribute their hard-won knowledge of what works and what doesn't.

Development Platform
I'm using both Windows and Linux. Windows is my target development environment, but some of what I need to do requires Linux.
I'm using Ubuntu 14.04.3 (x64) on a physical machine. That's the version that Xilinx officially supports, and it seems to work. I tried at first to use the latest Ubuntu release (16.04 LTS), but XSDK crashes on startup. Vivado seems to run, though.
I'm using Windows 10 (x64) on a physical machine.

Booting Snickerdoodle
So far, I've followed the instructions in the Getting Started Guide to create a bootable microSD card (SanDisk 64 GB). If you're looking for the ROOTFS tarball, see this post from Bush.
I've installed the microSD card, connected my sn'oodle via a USB cable to my Windows system, and found the appropriate (I hope) driver for the virtual COM port. So far, though, there have been no signs of life beyond a pulsing LED, which is the same whether there's an SD card in the drive or not.

Anyone else making progress?
I do expect some boards whenever the next batch of alphas goes out, I was about the 15th backer or so way down at the bottom of the list :)

On Friday, June 10, 2016 at 12:34:06 PM UTC-7, Nick Burkitt wrote:
Hi Rob.

should it be possible to get the board to drop into u-boot

Yes, if you can get your terminal program connected in time, you get the u-boot "Hit any key to stop autoboot" prompt. I'm using the USB port for both power and serial communications, so the COM port is only available after applying power. That makes getting connected in time to see the prompt less than a sure thing. If you were powering the board through J2, it would be easier. The reset button doesn't seem to have any effect at this point.
Do you have hardware on the way?
Hi Jamil.

The problem is just that the instructions don't agree with the tarball as posted - the paths aren't three extra levels deep. If you leave off the "--strip-components=3" option, then all is well, you get no errors and you end up with a working ROOTFS.
Now on to WiFi! Any hints? :-)

-Nick

On Friday, June 10, 2016 at 12:43:10 PM UTC-7, weath...@krtkl.com wrote:
Hi Nick,

I also receiver the odd error message upon unrolling the tar file.
Bush is going to post a compressed microSD card image for a 32GB card along with instructions for creating the card in Windows.

Thank you again for being part of the Alpha group. This is some of the usability stuff that will definitely get fixed for the production shipments.

-Jamil

The correct terminal emulator settings are 115200, n, 8, 1

-Jamil


On Friday, June 10, 2016 at 12:17:32 PM UTC-7, Nick Burkitt wrote:
And set your terminal emulator to 9600/N/8/1. It's alive!
Actually, set your terminal emulator to the same values as you set the virtual COM port in Device Manager (I did say I was using Windows, didn't I?)
These are the notes I took on that. I'm actually the hardware/FPGA/baremetal guy not the Linux expert so hopefully my naivety is helpful:

1) Clear out the contents of /etc/udev/rules.d/70-persistent-net.rules with vi and execute a reboot so that the wireless interface comes up at wlan0
2) ifconfig wlan0 up to bring up the WLAN radio
2) Do a iw wlan0 scan | grep SSID to find the SSID of your base station
3) use vi to edit the template in /etc/wpa_supplicant.conf for your basestation SSID (ssid=) and WPA password (psk=)
4) execute wpa_supplicant -d -D nl80211 -c /etc/wpa_supplicant.conf -i wlan0 -B to bring up the WPA supplicant --- apparently that's what they call the software to support WPA encryption on the WLAN station
5) execute dhclient wlan0 to get your dhcp address etc from the router
6) use iw wlan0 link to show radio link statistics
7) use ifconfig wlan0 to show network interfaces and IP/ethernet addresses

That should help.

-Jamil


On Friday, June 10, 2016 at 1:09:18 PM UTC-7, Nick Burkitt wrote:
Hi Jamil.

The problem is just that the instructions don't agree with the tarball as posted - the paths aren't three extra levels deep. If you leave off the "--strip-components=3" option, then all is well, you get no errors and you end up with a working ROOTFS.
Now on to WiFi! Any hints? :-)

-Nick

On Friday, June 10, 2016 at 12:43:10 PM UTC-7, weath...@krtkl.com wrote:
Hi Nick,

I also receiver the odd error message upon unrolling the tar file.
Bush is going to post a compressed microSD card image for a 32GB card along with instructions for creating the card in Windows.

Thank you again for being part of the Alpha group. This is some of the usability stuff that will definitely get fixed for the production shipments.

-Jamil

I've updated the getting started guide to remove the "--strip-components=3" flag.

On Friday, June 10, 2016 at 12:12:01 PM UTC-7, Nick Burkitt wrote:
If you use the ROOTFS tarball from here, the command shown in the Getting Started Guide for untarring it is wrong. Omit the "--strip-components=3" option, and use just "tar -C /media/user/ROOTFS -xvzf snickerdoodle-ubuntu-14.04.tar.gz".
Your naivety perfectly matches my own on this point. And your instructions were spot on, as well - I can rsh into the board, and bring up the default web page, too.! Not bad for a hardware guy. :-P
Thanks!

-Nick

On Friday, June 10, 2016 at 1:43:51 PM UTC-7, weath...@krtkl.com wrote:
These are the notes I took on that. I'm actually the hardware/FPGA/baremetal guy not the Linux expert so hopefully my naivety is helpful:

1) Clear out the contents of /etc/udev/rules.d/70-persistent-net.rules with vi and execute a reboot so that the wireless interface comes up at wlan0
2) ifconfig wlan0 up to bring up the WLAN radio
2) Do a iw wlan0 scan | grep SSID to find the SSID of your base station
3) use vi to edit the template in /etc/wpa_supplicant.conf for your basestation SSID (ssid=) and WPA password (psk=)
4) execute wpa_supplicant -d -D nl80211 -c /etc/wpa_supplicant.conf -i wlan0 -B to bring up the WPA supplicant --- apparently that's what they call the software to support WPA encryption on the WLAN station
5) execute dhclient wlan0 to get your dhcp address etc from the router
6) use iw wlan0 link to show radio link statistics
7) use ifconfig wlan0 to show network interfaces and IP/ethernet addresses

That should help.

-Jamil


On Friday, June 10, 2016 at 1:09:18 PM UTC-7, Nick Burkitt wrote:
Hi Jamil.

The problem is just that the instructions don't agree with the tarball as posted - the paths aren't three extra levels deep. If you leave off the "--strip-components=3" option, then all is well, you get no errors and you end up with a working ROOTFS.
Now on to WiFi! Any hints? :-)

-Nick

On Friday, June 10, 2016 at 12:43:10 PM UTC-7, weath...@krtkl.com wrote:
Hi Nick,

I also receiver the odd error message upon unrolling the tar file.
Bush is going to post a compressed microSD card image for a 32GB card along with instructions for creating the card in Windows.

Thank you again for being part of the Alpha group. This is some of the usability stuff that will definitely get fixed for the production shipments.

-Jamil

Hi Rob,

As of this moment our CM is assembling those starting on 6/14. Accounting for delivery to us for final test and shipping up to CrowdSupply for fulfillment I would say that your board should ship on 6/27 from Crowd Supply.
Thanks for hanging in there.

-Jamil


On Friday, June 10, 2016 at 1:09:01 PM UTC-7, Rob Barris wrote:
I do expect some boards whenever the next batch of alphas goes out, I was about the 15th backer or so way down at the bottom of the list :)

On Friday, June 10, 2016 at 12:34:06 PM UTC-7, Nick Burkitt wrote:
Hi Rob.

should it be possible to get the board to drop into u-boot

Yes, if you can get your terminal program connected in time, you get the u-boot "Hit any key to stop autoboot" prompt. I'm using the USB port for both power and serial communications, so the COM port is only available after applying power. That makes getting connected in time to see the prompt less than a sure thing. If you were powering the board through J2, it would be easier. The reset button doesn't seem to have any effect at this point.
Do you have hardware on the way?
Sounds great; wasn't complaining! Looking forward to it.

On Friday, June 10, 2016 at 3:16:59 PM UTC-7, weath...@krtkl.com wrote:
Hi Rob,

As of this moment our CM is assembling those starting on 6/14. Accounting for delivery to us for final test and shipping up to CrowdSupply for fulfillment I would say that your board should ship on 6/27 from Crowd Supply.
Thanks for hanging in there.

-Jamil


On Friday, June 10, 2016 at 1:09:01 PM UTC-7, Rob Barris wrote:
I do expect some boards whenever the next batch of alphas goes out, I was about the 15th backer or so way down at the bottom of the list :)

On Friday, June 10, 2016 at 12:34:06 PM UTC-7, Nick Burkitt wrote:
Hi Rob.

should it be possible to get the board to drop into u-boot

Yes, if you can get your terminal program connected in time, you get the u-boot "Hit any key to stop autoboot" prompt. I'm using the USB port for both power and serial communications, so the COM port is only available after applying power. That makes getting connected in time to see the prompt less than a sure thing. If you were powering the board through J2, it would be easier. The reset button doesn't seem to have any effect at this point.
Do you have hardware on the way?
Hey Tom,

Can you connect the microSD card to your Ubuntu host and confirm it's contents?

On Monday, July 11, 2016 at 4:54:18 PM UTC-7, Tom Olenik wrote:
Nick or anyone else,

How did you get from the "no signs of life other than the pulsing LED" and "Snickerdoodle is Alive!" That is where I am stuck at the moment. The details of where I'm at are:
  • I'm using Ubuntu 14.04 LTS (64 bit) on a dedicated machine, not a virtual machine.
  • I'm using the preloaded microSD card that arrived with the snickerdoodle. The case has a sticker than says "/01 /02" on it. I'm not sure what that means.
  • When I use ls /dev/tty* before and after plugging in the snickerdoodle I see it show up as /dev/ttyACM0
  • When I plug the snickerdoodle into my computer via USB the white light start pulsing in a heartbeat like pattern.
  • I've tried using screen typing "sudo screen /dev/ttyACM0 115200"
  • I then just get a black screen with a blank terminal with a blinking cursor. No prompt, nothing. Is just stays there until I kill it.
  • I tried minicom as well and same result. I also tried dropping 115200 from the above and same thing.
  • I have both a snickerdoodle standard and a snickerdoodle black. Same results with either one.
My next thing to try is to make my own microSD card and try that, but thought I would check to see if there could be something else anyone else suggests.

Thanks,

Tom Olenik

On Friday, June 10, 2016 at 2:21:22 PM UTC-4, Nick Burkitt wrote:
I'm going to post some of my experiences in bringing up a snickerdoodle board (assuming I eventually accomplish that feat), and I encourage everyone else contribute their hard-won knowledge of what works and what doesn't.

Development Platform
I'm using both Windows and Linux. Windows is my target development environment, but some of what I need to do requires Linux.
I'm using Ubuntu 14.04.3 (x64) on a physical machine. That's the version that Xilinx officially supports, and it seems to work. I tried at first to use the latest Ubuntu release (16.04 LTS), but XSDK crashes on startup. Vivado seems to run, though.
I'm using Windows 10 (x64) on a physical machine.

Booting Snickerdoodle
So far, I've followed the instructions in the Getting Started Guide to create a bootable microSD card (SanDisk 64 GB). If you're looking for the ROOTFS tarball, see this post from Bush. UPDATE: And this post (from me).
I've installed the microSD card, connected my sn'oodle via a USB cable to my Windows system, and found the appropriate (I hope) driver for the virtual COM port. So far, though, there have been no signs of life beyond a pulsing LED, which is the same whether there's an SD card in the drive or not. UPDATE: Snickerdoodle is alive! No WiFi yet, but how hard can that be? :-P
UPDATE2: Okay, pretty danged hard. Fortunately, Jamil posted these instructions which made it easy. By the way, the predefined non-root user is "snickerdoodle", with password also "snickerdoodle".

Anyone else making progress?


Nick or anyone else,

How did you get from the "no signs of life other than the pulsing LED" and "Snickerdoodle is Alive!" That is where I am stuck at the moment. The details of where I'm at are:
  • I'm using Ubuntu 14.04 LTS (64 bit) on a dedicated machine, not a virtual machine.
  • I'm using the preloaded microSD card that arrived with the snickerdoodle. The case has a sticker than says "/01 /02" on it. I'm not sure what that means.
  • When I use ls /dev/tty* before and after plugging in the snickerdoodle I see it show up as /dev/ttyACM0
  • When I plug the snickerdoodle into my computer via USB the white light start pulsing in a heartbeat like pattern.
  • I've tried using screen typing "sudo screen /dev/ttyACM0 115200"
  • I then just get a blank terminal with a blinking cursor. No prompt, nothing. Is just stays there until I kill it.
  • I tried minicom as well and same result. I also tried dropping 115200 from the above and same thing.
  • I have both a snickerdoodle standard and a snickerdoodle black. Same results with either one.
My next thing to try is to make my own microSD card and try that, but thought I would check to see if there could be something else anyone else suggests.

Thanks,

Tom Olenik

On Friday, June 10, 2016 at 2:21:22 PM UTC-4, Nick Burkitt wrote:
I'm going to post some of my experiences in bringing up a snickerdoodle board (assuming I eventually accomplish that feat), and I encourage everyone else contribute their hard-won knowledge of what works and what doesn't.

Development Platform
I'm using both Windows and Linux. Windows is my target development environment, but some of what I need to do requires Linux.
I'm using Ubuntu 14.04.3 (x64) on a physical machine. That's the version that Xilinx officially supports, and it seems to work. I tried at first to use the latest Ubuntu release (16.04 LTS), but XSDK crashes on startup. Vivado seems to run, though.
I'm using Windows 10 (x64) on a physical machine.

Booting Snickerdoodle
So far, I've followed the instructions in the Getting Started Guide to create a bootable microSD card (SanDisk 64 GB). If you're looking for the ROOTFS tarball, see this post from Bush. UPDATE: And this post (from me).
I've installed the microSD card, connected my sn'oodle via a USB cable to my Windows system, and found the appropriate (I hope) driver for the virtual COM port. So far, though, there have been no signs of life beyond a pulsing LED, which is the same whether there's an SD card in the drive or not. UPDATE: Snickerdoodle is alive! No WiFi yet, but how hard can that be? :-P
UPDATE2: Okay, pretty danged hard. Fortunately, Jamil posted these instructions which made it easy. By the way, the predefined non-root user is "snickerdoodle", with password also "snickerdoodle".

Anyone else making progress?


There should be a BOOT.bin, devicetree.dtb, uImage, uEnv.txt (at a minimum) along with some additional update scripts and pre-built bitstreams and configurations. If you type into the terminal do you get momentary blinking on the green LED nearest to the microUSB jack?
Just throwing out some things

a - I was kind of a doofus when I first tried to emplace the microsd card. I thought I was supposed to lift the little metal lid, lay down the card, close the lid on top of it... nope. (Never got so far as trying to boot in this sad shape, I knew it wasn't right...) Lid lifts up, card goes in lthe id, lid clamps back down nicely. If this was in the docs, I missed it.

b - I use minicom @ /dev/ttyACM0 and that works for me on Ubuntu 14.04. I think I usually run it 'sudo' however. It can notice the port going missing if I physically unplug the USB tether, and then recover and notice its return when replugged. 115200 baud rate set in the comm settings there.

c - do you have a JTAG probe for the JTAG port ? I do a fair amount of code & test just using baremetal mode in Vivado + XSDK, in which case the sdcard is somewhat superfluous. That could be a way to test some board behavior via the hardware manager in vivado.

A krtkl person can probably explain where u-boot comes from, is it there even if no sdcard present, is it in the QSPI flash ? You should see u-boot saying *something* as power is applied, maybe spam some keys to interrupt the autoboot.

Thanks, Rob. The SD card cage can be a bit tricky. The card should indeed be held by the tabs IN the lid rather than just being held down by it. Hopefully you can see that in my (somewhat blurry) image. To confirm it's an issue with the SD card, and not a problem with the device, you can try to boot from the QSPI by holding down the RESET button when connecting power. After holding the button down for 3 seconds, you should see the normal "heartbeat" light pulse and you can release the button and connect using your terminal emulator.

On Monday, July 11, 2016 at 5:37:10 PM UTC-7, Rob Barris wrote:
Just throwing out some things

a - I was kind of a doofus when I first tried to emplace the microsd card. I thought I was supposed to lift the little metal lid, lay down the card, close the lid on top of it... nope. (Never got so far as trying to boot in this sad shape, I knew it wasn't right...) Lid lifts up, card goes in lthe id, lid clamps back down nicely. If this was in the docs, I missed it.

b - I use minicom @ /dev/ttyACM0 and that works for me on Ubuntu 14.04. I think I usually run it 'sudo' however. It can notice the port going missing if I physically unplug the USB tether, and then recover and notice its return when replugged. 115200 baud rate set in the comm settings there.

c - do you have a JTAG probe for the JTAG port ? I do a fair amount of code & test just using baremetal mode in Vivado + XSDK, in which case the sdcard is somewhat superfluous. That could be a way to test some board behavior via the hardware manager in vivado.

A krtkl person can probably explain where u-boot comes from, is it there even if no sdcard present, is it in the QSPI flash ? You should see u-boot saying *something* as power is applied, maybe spam some keys to interrupt the autoboot.