Bdyssh! // Бдыщщь!

Высокохохолковый пингвин, %username%, это единственный пингвин в мире, который может шевелить своим хохолком.

Lattice iCEcube2 and Ubuntu, some fixes / Некоторые доработки

 Внезапно

 Suddenly

В поисках наименее глюкавого, а возможно и более дешёвого ПЛИС низкой плотности, проводится проверка к пригодности микросхемы Lattice iCE40HX4K-TQ144. Приятной неожиданностью оказалось отсутствие JTAG и соответственно добавились целых 4 пользовательских вывода. Что надо протестировать:

  • Пригодность к использованию двухслойных печатных плат 3-го класса (0,25/0,25);
  • Возможность работы только от двух питающих напряжений;
  • Возможность прошивки от обычной SPI памяти (явно заявлено);
  • Пригодность ПО iCEcube2 (понятно, что речь идёт о версии для Linux, проверяется на Ubuntu 12.04.4 LTS) к ежедневному безопасному использованию.
 While searching for less buggy LD FPGA, and may be even cheaper, it is testing of Lattice iCE40HX4K-TQ144 in progress. Good news is this is not have JTAG, so as much as 4 pins additionally available as user I/O.

Найденные недостатки и способы устранения

Some bugs and fixes

ПО не работает с двумя сетевыми картами (интерфейсами),

если карта с постоянным МАК-адресом не является первой в списке (т.е. не имеет имя eth0). Сообщение об ошибке:

Сan’t run the software due to licensing problem.

On Linux and two NICs, when only one MAC address (onboard) is stable, and another is often changes due to workflow, and node-locked (stable) MAC is not first in the list (i.e. it is not eth0), MAC is rejected by software. Stable NIC interface can’t be fixed at first place while enumeration. The error message is:

Error: License checkout failed.
Invalid host.
The hostid of this system does not match the hostid
specified in the license file.
Feature: LSC_ICECUBE2_A
Hostid: bcee7b98f16d
License path: /home/doc/license.dat:
FLEXnet Licensing error:-9,57
Решение было высокопрофессионально обеспечено техподдержкой, без лишней фигни, и без попыток научить тому что не нужно. Solution was provided by Lattice’s Technical Support, it was highly professional, and was not overloaded by weird stuff as it sometimes occurs with other technical support (say when i report small font size, they says use screen magnifier!)
To avoid this error and to run the iCECube2 software on your system, you need to manually change the NIC name “eth1” to “eth0” (You can replace MAC address of NIC named eth1 with eth0).To change the NIC name, you need to modify the script located in the “/etc/udev/rules.d/ directory as follows:-
1) Run the following commands with root privileges:-
a) cd /etc/udev/rules.d/
b) vi 70-persistent-net.rules ,In the file you will see a value as: NAME =”eth1” change it to NAME=”eth0” and save the file.
2). Reboot your system, so that changes made can be recognized by the system.

So i use ‘sudo gedit /etc/udev/rules.d/70-persistent-net.rules‘ and change onboard NIC name to ‘eth0’ and get iCEcube2 running.

Не работает меню Help

При запуске ПО из командной строки, дополнительно, появляется сообщение об ошибке:

Help submenus not work

Additionally, running the software from command line, it is easy to see error message:

  (TBD)
Решение было найдено мной на основе похожей проблемы для Xilinx Webpack:  I found myself the solution, it is a bit based on Xilinx Webpack’s known workarounds:
cd iCEcube2.2014.04/
mkdir backup1
mv sbt_backend/bin/linux/opt/synpwrap/libstdc*  backup1
mv sbt_backend/bin/linux/opt/synpwrap/libgcc*  backup1
mkdir backup2
mv LSE/bin/lin/libstdc*  backup2
mv LSE/bin/lin/libgcc*  backup2

fff

fggffgfgfg fgfg