Wiki Page on Setting up the BeMicro SDK on Ubuntu 14.04 for Hermes-Lite

483 views
Skip to first unread message

Rob Frohne

unread,
Jul 9, 2014, 5:47:34 PM7/9/14
to herme...@googlegroups.com
Hi All,

I put a quick set of instructions on setting up the BeMicro SDK for Hermes-Lite on the wiki here.  If you want to edit it, or have fixes or other notes, send me a note, and I'll add you to the contributers.

The boards are in LA and have cleared customs.

73,

Rob
KL7NA

  

Zl2APV

unread,
Jul 10, 2014, 6:43:20 AM7/10/14
to herme...@googlegroups.com
Hi Rob,

Thanks for the wiki. I have a couple of questions re the install.

I guess it installs on ubuntu although it is not mentioned as a supported version of Linux distribution with pre-requisite packages installed?
I think Ubuntu users should use the RedHat Linux Enterprise 5 and above instructions???
Do I need the 32 bit libraries which google searches keep leading me to with a reference to v12?
After downloading to a temp directory and doing a successful MD5sum I have extracted and tried to run setup.sh with the following error ...

gvj@gvj-Mint ~/Downloads/QuartusTmp $ ./setup.sh
bash: ./setup.sh: /bin/env: bad interpreter: No such file or directory

These questions may form some more info for the wiki and oh yes I would appreciate any help with the error message. I am not installing as su.

73 Graeme ZL2APV

Sid Boyce

unread,
Jul 10, 2014, 9:31:27 AM7/10/14
to herme...@googlegroups.com
Hi Graeme,
I have only had a quick glance and a peek at Steve's rtl directory but it seems quite straightforward as we are using the same Altera Web Edition and USB Blaster used to program the HiQSDR and can be used to program Hermes - both use Cyclone III FPGA's as does the BeMicro SDK.

Recently I used Web Edition 13.1 on Kubuntu 14.04 x86_64 to program the HiQSDR with
fpga_ver3-sg9.tgz. On other occasions I used openSUSE x86_64.

NOTE:- Web Edition 14.0 does not support Cyclone III FPGA's.

As an aside, when I was trying to upgrade to Hermes firmware v2.9 on openSUSE using HPSDRProgrammer_V2 a little confusion arose as it was seeing 2 radios, i.e Hermes and HiQSDR so I switched to Kubuntu. I only realised later what was happening - both were connected to networks on the openSUSE box and both were powered up.
Hermes is connected to 192.168.10.x so is seen by all boxes. HiQSDR is on a separate network as 192.168.2.196 and the Kubuntu box doesn't have a 192.168.2.x network.

I can still operate the HiQSDR from the Kubuntu or any box without a second Ethernet using IP Forwarding to any of 2 openSUSE boxes with a second 192.168.2 Ethernet or the ODROID-U3 which also has a second Ethernet.
"route add -host 192.168.2.196 gw 192.168.10.2 eth0" and quisk/qsdr/rasdr RX and TX run with no problem.

When I get a chance today or tomorrow I'll hook up the BeMicro SDK and have a go.
73 ... Sid.
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Rob Frohne

unread,
Jul 10, 2014, 10:09:42 AM7/10/14
to herme...@googlegroups.com
Hi Graeme,

Some notes below:

On 07/10/2014 03:43 AM, Zl2APV wrote:
Hi Rob,

Thanks for the wiki. I have a couple of questions re the install.

I guess it installs on ubuntu although it is not mentioned as a supported version of Linux distribution with pre-requisite packages installed?
I think Ubuntu users should use the RedHat Linux Enterprise 5 and above instructions???
Yes, I just downloaded the Linux stuff to my Downloads folder, started the installer, picked the altera directory in my home directory as the place to install and it completed just fine.

Do I need the 32 bit libraries which google searches keep leading me to with a reference to v12?
After downloading to a temp directory and doing a successful MD5sum I have extracted and tried to run setup.sh with the following error ...
If you are using a 32 bit install of Ubuntu, if I understand correctly, you need an older version of Quartus II than 14.0 which is the latest now.


gvj@gvj-Mint ~/Downloads/QuartusTmp $ ./setup.sh
bash: ./setup.sh: /bin/env: bad interpreter: No such file or directory

These questions may form some more info for the wiki and oh yes I would appreciate any help with the error message. I am not installing as su.
I didn't use sudo either.

When you figure out what your problem is, let me know and I'll update the wiki.

73,

Rob
KL7NA

73 Graeme ZL2APV

On Thursday, July 10, 2014 9:47:34 AM UTC+12, Rob Frohne wrote:
Hi All,

I put a quick set of instructions on setting up the BeMicro SDK for Hermes-Lite on the wiki here.  If you want to edit it, or have fixes or other notes, send me a note, and I'll add you to the contributers.

The boards are in LA and have cleared customs.

73,

Rob
KL7NA
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Matt

unread,
Jul 10, 2014, 12:09:59 PM7/10/14
to herme...@googlegroups.com
Ia32libs and install as root (on 64bit ubuntu). It will install not as root, but I found bugs when not installed as root.

Quartus is terrible for portability of projects between versions, so I stick with 13.0 for now. So above advice may not be needed for 14.

Be careful with ia32libs, installing this made some software no longer work for me ( it was fixable).

Matt.

Rob Frohne

unread,
Jul 10, 2014, 12:26:32 PM7/10/14
to herme...@googlegroups.com
Hi Matt,

Thanks for the note. So far I have had no trouble without doing a sudo
install, but I'm using a 64 bit OS. The rtl built just fine under 14.0,
though I didn't check out Steve's latest code with two receivers, etc.

73,

Rob
KL7NA

Zl2APV

unread,
Jul 10, 2014, 6:48:50 PM7/10/14
to herme...@googlegroups.com
Hi All,

Thanks for the responses

I am running LinuxMint 64 bit based on Ubuntu 14.04 LTS
gvj@gvj-Mint ~ $ uname -a
Linux gvj-Mint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Sid I do have the Altera command line programmer installed
gvj@gvj-Mint ~/Programs/altera/13.1/qprogrammer/bin $ ./quartus_pgm --help
Quartus II 32-bit Programmer
Version 13.1.0 Build 162 10/23/2013 SJ Full Version
Copyright (C) 1991-2013 Altera Corporation

I would have expected that I have all the necessary 32bit libs installed as this runs fine and am now thinking that there may be a conflict with 14.0 which seems to be a 64 bit version. I think I will try installing it on another computer to avoid any possible conflict with the 64 and 32 bit versions. I am not going to remove my working 32 bit command line installation as it goes and I will leave well alone. Rob is obviously able to program his FPGA so not including Cyclone III FPGA's is probably not an issue for 14.0.

Re the HiQSDR network settings, I extended my network by setting the "IPv4 Settings" to manual and using a Netmask of 255.255.252.0 which lets me see the HiQSDR as well. It is also useful to have my IP Address fixed (192.168.1.22) so I can access the computer from a script when using ghpsdr3-alex remotely within my wifi network. Drifting off topic I installed fpga_ver3-sg9 and think it is causing severe distortion on my Tx signal probably due to the adaptive digital predistortion which I have not any calibration for and no feedback from my Tx as I do not yet understand it. I will revert to fpga_ver3-sg7 and see if it fixes the Tx.

Rob, thanks for the info on the sudo install not being necessary in your case and of course it conflicts with Matt's experience haha. I do not need to have 14.0 installed but wanted to test your wiki. I usually prefer to run things like dfu programmer and fpga programmer from the command line as it is quicker but I expect as this project grows most will use the gui environment so just wanted to keep up with the play. If I can sort this I will send the info for the wiki update and suspect I may have a conflict by trying to retain my 13.1 command line programmer while installing 14.0 gui.

Matt, I had few issues with installing 13.1 on my 64 bit os and it runs fine. I was amiss for not recording the installation but think I had to get one or two 32 bit libs installed as each error was flagged.

73 Graeme ZL2APV

Sid Boyce

unread,
Jul 10, 2014, 10:36:45 PM7/10/14
to herme...@googlegroups.com
OK Graeme,
I had a closer look at the FPGA specs for the BeMicro SDK so no problem using 14.0. Mint/Kubuntu all from the Ubuntu stable so there should be no issues expected nor with openSUSE or Fedora which I also use here.

The one problem I had with 14.0 was finding libraries as can be seen below and I had export LD_LIBRARY_PATH in order to fix that.
lancelot@slipstream:~/ftp/JUL14/Hermes-Lite> cd ~/altera/14.0/quartus/linux64/
lancelot@slipstream:~/altera/14.0/quartus/linux64> ./quartus
./quartus: error while loading shared libraries: libsys_ictq.so: cannot open shared object file: No such file or directory
lancelot@slipstream:~/altera/14.0/quartus/linux64> export LD_LIBRARY_PATH=/home/lancelot/altera/14.0/quartus/linux64
lancelot@slipstream:~/altera/14.0/quartus/linux64> ./quartus

With -sg9 I don't have predistortion feedback hardware installed, TX audio is clean and no on air reports of TX distortion.

I used the GUI for both 13.1 32-bit and 14.0 64-bit and both compiles were successful on openSUSE, sudo was not used as I always install Altera as user.
73 ... Sid.
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Zl2APV

unread,
Jul 11, 2014, 12:43:44 AM7/11/14
to herme...@googlegroups.com, boyc...@gmail.com
Some progress :-)

I got 14.0 to install by creating a symlink ...
gvj@gvj-Mint ~/Programs/altera/13.1/qprogrammer/bin $ sudo ln -s /usr/bin/env /bin/env
as env waqs expected in /bin and LinuxMint has it in /usr/bin. I would have expected that Ubuntu would have been in the same place.

Running up the programmer and adding the hardware I get an error message when selecting my hardware and clicking the "Add Hardware" button. In the pop up window "Port:" contains the message "Insufficient permissions on some ports"

Running lsusb in a terminal gives ...
gvj@gvj-Mint ~/Programs/altera/13.1/qprogrammer/bin $ lsusb
Bus 001 Device 033: ID 09fb:6001 Altera Blaster
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 045e:001e Microsoft Corp. IntelliMouse Explorer
Bus 002 Device 002: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

The Altera Blaster line corresponds with my /etc/udev/rules.d/51-usbblaster.rules ...

# USB-Blaster
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666"

Still more digging to do.

73 Graeme


On Friday, July 11, 2014 2:36:45 PM UTC+12, Sid Boyce wrote:
OK Graeme,
I had a closer look at the FPGA specs for the BeMicro SDK so no problem using 14.0. Mint/Kubuntu all from the Ubuntu stable so there should be no issues expected nor with openSUSE or Fedora which I also use here.

The one problem I had with 14.0 was finding libraries as can be seen below and I had export LD_LIBRARY_PATH in order to fix that.
lancelot@slipstream:~/ftp/JUL14/Hermes-Lite> cd ~/altera/14.0/quartus/linux64/

./quartus: error while loading shared libraries: libsys_ictq.so: cannot open shared object file: No such file or directory
lanc...@slipstream:~/altera/14.0/quartus/linux64> export LD_LIBRARY_PATH=/home/lancelot/altera/14.0/quartus/linux64
lanc...@slipstream:~/altera/14.0/quartus/linux64> ./quartus

Rob Frohne

unread,
Jul 11, 2014, 1:39:23 AM7/11/14
to herme...@googlegroups.com
Hi Graeme,

Good work. 

frohro@frohro-e6410:~$ which env
/usr/bin/env

on Ubuntu 14.04.

On the udev rules, I just copied the whole thing here:

# USB-Blaster
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666"
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002", MODE="0666"

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003", MODE="0666"

# USB-Blaster II

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010", MODE="0666"

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810", MODE="0666"

You do have to reload the udev rules as well.

73,

Rob
KL7NA
-- 
Rob Frohne, PhD, PE
Professor
EF Cross School of Engineering
Walla Walla University
100 SW 4th Street
College Place, WA 99324
(509) 527-2075

Sid Boyce

unread,
Jul 11, 2014, 8:33:11 AM7/11/14
to herme...@googlegroups.com
Hi Rob,
The format of the rules files have been changed for quite a while and need converting. The old format with BUS and SYSFS usually throw up warnings.

New format
-----------------
root@sdrbox:/2# cat /etc/udev/rules.d/90-ozy.rules
SUBSYSTEMS=="usb",ATTRS{idVendor}=="fffe",ATTRS{idProduct}=="0007",SYMLINK+="ozy",MODE="666"

Conversion commands
-------------------------------
sed -i  's/BUS/SUBSYSTEMS/g' /etc/udev/rules.d/xx-yyy.rules
sed -i  's/SYSFS/ATTRS/g' /etc/udev/rules.d/xx-yyy.rules

OLD
-------

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666"

NEW
-------
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"
73 ... Sid.

On 11/07/14 06:39, Rob Frohne wrote:
Hi Graeme,

Good work. 
 

On 10/07/14 23:48, Zl2APV wrote:
Hi All,

Thanks for the responses

I am running LinuxMint 64 bit based on Ubuntu 14.04 LTS
gvj@gvj-Mint ~ $ uname -a
Linux gvj-Mint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Sid I do have the Altera command line programmer installed
gvj@gvj-Mint ~/Programs/altera/13.1/qprogrammer/bin $ ./quartus_pgm --help
Quartus II 32-bit Programmer
Version 13.1.0 Build 162 10/23/2013 SJ Full Version
Copyright (C) 1991-2013 Altera Corporation

I would have expected that I have all the necessary 32bit libs installed as this runs fine and am now thinking that there may be a conflict with 14.0 which seems to be a 64 bit version. I think I will try installing it on another computer to avoid any possible conflict with the 64 and 32 bit versions. I am not going to remove my working 32 bit command line installation as it goes and I will leave well alone. Rob is obviously able to program his FPGA so not including Cyclone III FPGA's is probably not an issue for 14.0.

Re the HiQSDR network settings, I extended my network by setting the "IPv4 Settings" to manual and using a Netmask of 255.255.252.0 which lets me see the HiQSDR as well. It is also useful to have my IP Address fixed (192.168.1.22) so I can access the computer from a script when using ghpsdr3-alex remotely within my wifi network. Drifting off topic I installed fpga_ver3-sg9 and think it is causing severe distortion on my Tx signal probably due to the adaptive digital predistortion which I have not any calibration for and no feedback from my Tx as I do not yet understand it. I will revert to fpga_ver3-sg7 and see if it fixes the Tx.

Rob, thanks for the info on the sudo install not being necessary in your case and of course it conflicts with Matt's experience haha. I do not need to have 14.0 installed but wanted to test your wiki. I usually prefer to run things like dfu programmer and fpga programmer from the command line as it is quicker but I expect as this project grows most will use the gui environment so just wanted to keep up with the play. If I can sort this I will send the info for the wiki update and suspect I may have a conflict by trying to retain my 13.1 command line programmer while installing 14.0 gui.

Matt, I had few issues with installing 13.1 on my 64 bit os and it runs fine. I was amiss for not recording the installation but think I had to get one or two 32 bit libs installed as each error was flagged.

73 Graeme ZL2APV

On Friday, July 11, 2014 4:26:32 AM UTC+12, Rob Frohne wrote:
Hi Matt,

Thanks for the note.  So far I have had no trouble without doing a sudo
install, but I'm using a 64 bit OS.  The rtl built just fine under 14.0,

Zl2APV

unread,
Jul 11, 2014, 10:00:42 AM7/11/14
to herme...@googlegroups.com, boyc...@gmail.com
After a marathon of not being able to get my USB-Blaster recognised even as root, I have finally got it going. Your post Sid is on the same track as I was taking and here is what my rules are like ...

# USB-Blaster
#BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster"

# Altera USB-Blaster rule to set mode to 666.
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="09fb",ATTRS{idProduct}=="6001",MODE="0666",NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}",RUN+="/bin/chmod 0666 %c"


BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002", MODE="0666"

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003", MODE="0666"

# USB-Blaster II

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010", MODE="0666"

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810", MODE="0666"

I will alter the rest of the rules in case one day I get a different programmer but at least I don't get the dreaded "Unable to lock chain (Insufficient port permissions)" from 13.1 on the command line. The problem with the gui is that it did not throw up any helpful messages. I will try the simplified rule for my programmer as described by Sid and see if that works but it will be tomorrow as it is 2:00 am right now. Here is a really good reference to rule writing.
http://www.reactivated.net/writing_udev_rules.html#about

zzz Graeme ZL2APV

Rob Frohne

unread,
Jul 11, 2014, 10:43:13 AM7/11/14
to herme...@googlegroups.com
Thanks Graeme & Sid,

I tried your rule below, and it works for me, so I changed the wiki to reflect using it.

73,

Rob
KL7NA

Sid Boyce

unread,
Jul 11, 2014, 9:21:11 PM7/11/14
to herme...@googlegroups.com
What programming mode should be used with the BeMicro SDK?
73 ... Sid.
BeMicro.png

Sid Boyce

unread,
Jul 11, 2014, 9:33:43 PM7/11/14
to herme...@googlegroups.com
On 12/07/14 02:21, Sid Boyce wrote:
> What programming mode should be used with the BeMicro SDK?
> 73 ... Sid.
>
This is the selected file.
> ls -l /home/lancelot/ftp/JUL14/Hermes-Lite/rtl/Hermes_Lite.sof
-rw-r--r-- 1 lancelot users 703941 Jul 10 20:25
/home/lancelot/ftp/JUL14/Hermes-Lite/rtl/Hermes_Lite.so

Sid Boyce

unread,
Jul 11, 2014, 9:59:15 PM7/11/14
to herme...@googlegroups.com
On 12/07/14 02:33, Sid Boyce wrote:
> On 12/07/14 02:21, Sid Boyce wrote:
>> What programming mode should be used with the BeMicro SDK?
>> 73 ... Sid.
>>
> This is the selected file.
>> ls -l /home/lancelot/ftp/JUL14/Hermes-Lite/rtl/Hermes_Lite.sof
> -rw-r--r-- 1 lancelot users 703941 Jul 10 20:25
> /home/lancelot/ftp/JUL14/Hermes-Lite/rtl/Hermes_Lite.so
> 73 ... Sid.
>
Error (209053): Unexpected error in JTAG server -- error code 89
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Sat Jul 12 02:57:37 2014

Rob Frohne

unread,
Jul 11, 2014, 10:03:57 PM7/11/14
to herme...@googlegroups.com
Hi Sid,

You should use jtag mode.  You might want to try in the command line in the quartus/bin directory
$ ./jtagconfig -d
73,

Rob
KL7NA

On 07/11/2014 06:59 PM, Sid Boyce wrote:
On 12/07/14 02:33, Sid Boyce wrote:
On 12/07/14 02:21, Sid Boyce wrote:
What programming mode should be used with the BeMicro SDK?
73 ... Sid.

This is the selected file.
ls -l /home/lancelot/ftp/JUL14/Hermes-Lite/rtl/Hermes_Lite.sof
-rw-r--r-- 1 lancelot users 703941 Jul 10 20:25 /home/lancelot/ftp/JUL14/Hermes-Lite/rtl/Hermes_Lite.so
73 ... Sid.

Error (209053): Unexpected error in JTAG server -- error code 89
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Sat Jul 12 02:57:37 2014
73 ... Sid.


-- 
Rob Frohne, PhD, PE
Professor
EF Cross School of Engineering
Walla Walla University
100 SW 4th Street
College Place, WA 99324
(509) 527-2075

Sid Boyce

unread,
Jul 11, 2014, 11:40:28 PM7/11/14
to herme...@googlegroups.com
Thanks Rob,
Success!
I hooked it into the network and I can see network activity but I don't get an IP address via dhcp.
Should I?
73 ... Sid.
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
BeMicro1.png

Sid Boyce

unread,
Jul 12, 2014, 7:28:50 AM7/12/14
to herme...@googlegroups.com
On second thoughts I need to read up on the SDK as I have seen the empty microSD slot so there must be much more to it than just the FPGA.
73 ... Sid.

Matt

unread,
Aug 1, 2014, 4:03:19 AM8/1/14
to herme...@googlegroups.com
Having just upgraded Ubuntu to 14.04 and Quartus to 14.0. All of the below is indeed not relevant for Quartus 14.0. Thought this was worth a note in case someone reads this and goes off on a tangent installing things.

I was expecting a battle and was downloading code in minutes!

Matt.
Reply all
Reply to author
Forward
0 new messages