No /dev/logibone

I put an ubuntu image on an SD card and wrote it to the eMMC. The image is from the following location:


As I understood, all I have to do with this image (3.8.13-bone63) is clone the logi-tools repo and run the "install_logibone.sh" script to get the logibone working. However, when I reboot the board, I can't load the bit file for the "logi_blink_led" example. I get the following response:

can't open device
cannot open spi bus 

I looked at under "/dev/" and I can only see "logibone_mem". I don't see "logibone". Here is the output of "dmesg":

[ 0.000000] Linux version 3.8.13-bone63 (root@a5-imx6q-wandboard-2gb) (gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1) ) #1 SMP Mon Aug 11 23:03:02 UTC 2014
[ 0.552863] bone-capemgr bone_capemgr.9: Baseboard: 'A335BNLT,00A6,4413BBBK0279'
[ 0.552891] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
[ 0.552930] bone-capemgr bone_capemgr.9: Skipping disabled cape with part# BB-BONELT-HDMI
[ 0.576996] bone-capemgr bone_capemgr.9: slot #0: 'BB-BONE-LOGIBONE,00R1,VALENTFX,BB-BONE\xffffffc3-LOGIBON'
[ 0.607847] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.644955] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.682065] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.688303] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 0.688325] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
[ 0.688340] bone-capemgr bone_capemgr.9: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
[ 0.688412] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 0.688430] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 0.688444] bone-capemgr bone_capemgr.9: slot #5: 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
[ 0.688521] bone-capemgr bone_capemgr.9: slot #6: specific override
[ 0.688538] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
[ 0.688553] bone-capemgr bone_capemgr.9: slot #6: 'Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN'
[ 0.688704] bone-capemgr bone_capemgr.9: Skipping loading of disabled cape with part# BB-BONELT-HDMI
[ 0.688884] bone-capemgr bone_capemgr.9: loader: before slot-0 BB-BONE\xffffffc3-LOGIBON:00R1 (prio 0)
[ 0.688898] bone-capemgr bone_capemgr.9: loader: check slot-0 BB-BONE\xffffffc3-LOGIBON:00R1 (prio 0)
[ 0.688972] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.688984] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.689017] bone-capemgr bone_capemgr.9: initialized OK.
[ 0.689445] bone-capemgr bone_capemgr.9: loader: after slot-0 BB-BONE\xffffffc3-LOGIBON:00R1 (prio 0)
[ 0.689463] bone-capemgr bone_capemgr.9: slot #0: Requesting part number/version based 'BB-BONE\xffffffc3-LOGIBON-00R1.dtbo
[ 0.689484] bone-capemgr bone_capemgr.9: slot #0: Requesting firmware 'BB-BONE\xffffffc3-LOGIBON-00R1.dtbo' for board-name 'BB-BONE-LOGIBONE', version '00R1'
[ 0.691927] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.693326] bone-capemgr bone_capemgr.9: loader: before slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.693340] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.693353] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.694011] usb usb1: Manufacturer: Linux 3.8.13-bone63 musb-hcd
[ 0.997953] bone-capemgr bone_capemgr.9: failed to load firmware 'BB-BONE\xffffffc3-LOGIBON-00R1.dtbo'
[ 1.006991] bone-capemgr bone_capemgr.9: loader: failed to load slot-0 BB-BONE\xffffffc3-LOGIBON:00R1 (prio 0)
[ 1.016717] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.016742] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.016756] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.016780] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
[ 1.016795] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
[ 1.017009] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 1.045569] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 1.045594] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.045778] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.045794] bone-capemgr bone_capemgr.9: loader: after slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.045823] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware 'cape-boneblack-hdmin-00A0.dtbo' for board-name 'Bone-Black-HDMIN', version '00A0'
[ 1.045853] bone-capemgr bone_capemgr.9: slot #6: dtbo 'cape-boneblack-hdmin-00A0.dtbo' loaded; converting to live tree
[ 1.046369] bone-capemgr bone_capemgr.9: slot #6: #2 overlays
[ 1.213495] bone-capemgr bone_capemgr.9: slot #6: Applied #2 overlays.
[ 1.213509] bone-capemgr bone_capemgr.9: loader: done slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 14.028606] usb usb2: Manufacturer: Linux 3.8.13-bone63 musb-hcd

It seems there is a failure in loading 'BB-BONE\xffffffc3-LOGIBON:00R1'. I don't know where to go from here. Any information would be helpful.

Comments

  • Your the seond person to have this exact same problem ... It seem that the eeprom file that i provided is corrupted somehow. In the init_logibone folder of the logi-tools there is a c file that is used to generate the eeprom content, can you try to re-compile this fine and execute to generate the eeprom content and then load it to the eeprom using the init_eeprom.sh script.


    Regards,

    Jonathan Piat
  • Thank you for your help! When I compile the c file "mk_logibone_eeprom.c" and run it, it asks me to enter then name of the board. What exact name should I put for this? Does it even matter what the name is?
  • before doing anything else, can you do a "cat data.eeprom" on the eeprom file you have ? Here the value i input when running the script :

    Enter Name of Board in ASCII (max 32): BB-BONE-LOGIBONE
    Enter HW Version of Board in ASCII (max 4): 00R1
    Enter Name of Manufacturer in ASCII (max 16): VALENTFX
    Enter Part Number in ASCII (max 16): BB-BONE-LOGIBONE
    Enter Serial Number in ASCII (max 16): 01111983
    Enter MAX Current (mA) on VDD_3V3EXP Used by Cape (Range 0 to 250mA): 0
    Enter MAX Current (mA) on VDD_5V Used by Cape (Range 0 to 1000mA): 500
    Enter MAX Current (mA) on SYS_5V Used by Cape (Range 0 to 250mA): 100
    Enter Current (mA) Supplied on VDD_5V by Cape (Range 0 to 65535mA): 0


    I have checked the data.eeprom content and it is corrupted ...
  • The data.eeprom file there was corrupted. I created a new one with the compiled c file and entered the information you posted for when you ran the script. For some reason though, and I don't even know if it is related, now I can't ssh to the beaglebone while the logibone is connected. If I take of the logibone and then power the beaglebone, I can once again ssh to it. This applied to both the ethernet connection and the USB connection.
  • This is weird and it must be related somehow ... What is the status of the beaglebone leds when you try to boot with the logibone plugged in ? I'll build an image based on the same distro to test myself.

    I hope that this Ubuntu image does not try to make use of the emmc for some reason.
  • Just looked at your link and the image is entitled emmc flasher, so it will try to mount the emmc (emmc_flasher) which i not possible when the logibone is plugged in ...

    You should try this image :

    https://rcn-ee.net/deb/rootfs/trusty/ubuntu-14.04-console-armhf-2014-08-13.tar.xz
  • Will this new image always be required to run from the SD card? I was trying to get the os set up in the emmc to avoid having to press the boot select button on power up. 
  • Default support of the logibone includes communication over the GPMC interface which is also used by the eMMC. Thus you cannot run the OS from the eMMC if you want to use wishbone. To avoid the boot problem, boot the new Ubuntu on SD card (need to press the boot button)  the beaglebone with logibone unplugged. When booted execute the following command :


    sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1

    This will erase the first blocks of the eMMC thus disabling booting from it (can be restored later). Then boot the beaglebone with logibone plugged in, you should not have to press the boot button.


    We will need to come up with a better fix for this, but it involves modifying u-boot which will require to re-compile it for each new distro.

    Regards,

    Jonathan Piat
  • I followed your instructions and have the image you linked running from the SD card without having to use the boot select button. I cloned logi-tools from github and ran:

    sudo ./install_logibone.sh

    Then I rebooted the board. I still don't see a /dev/logibone. Just the /dev/logibone_mem. 

    Here is my "dmesg | grep bone" output:

    [ 0.000000] Linux version 3.8.13-bone63 (root@a5-imx6q-wandboard-2gb) (gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1) ) #1 SMP Mon Aug 11 23:03:02 UTC 2014
    [ 0.552509] bone-capemgr bone_capemgr.9: Baseboard: 'A335BNLT,00A6,4413BBBK0279'
    [ 0.552535] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
    [ 0.576618] bone-capemgr bone_capemgr.9: slot #0: 'BB-BONE-LOGIBONE,00R1,VALENTFX,BB-BONE-LOGIBONE'
    [ 0.607563] bone-capemgr bone_capemgr.9: slot #1: No cape found
    [ 0.644672] bone-capemgr bone_capemgr.9: slot #2: No cape found
    [ 0.681781] bone-capemgr bone_capemgr.9: slot #3: No cape found
    [ 0.688018] bone-capemgr bone_capemgr.9: slot #4: specific override
    [ 0.688040] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
    [ 0.688054] bone-capemgr bone_capemgr.9: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
    [ 0.688127] bone-capemgr bone_capemgr.9: slot #5: specific override
    [ 0.688145] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
    [ 0.688159] bone-capemgr bone_capemgr.9: slot #5: 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
    [ 0.688234] bone-capemgr bone_capemgr.9: slot #6: specific override
    [ 0.688251] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
    [ 0.688265] bone-capemgr bone_capemgr.9: slot #6: 'Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN'
    [ 0.688575] bone-capemgr bone_capemgr.9: loader: before slot-0 BB-BONE-LOGIBONE:00R1 (prio 0)
    [ 0.688589] bone-capemgr bone_capemgr.9: loader: check slot-0 BB-BONE-LOGIBONE:00R1 (prio 0)
    [ 0.688664] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
    [ 0.688677] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
    [ 0.688745] bone-capemgr bone_capemgr.9: loader: before slot-5 BB-BONELT-HDMI:00A0 (prio 1)
    [ 0.688757] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
    [ 0.688789] bone-capemgr bone_capemgr.9: initialized OK.
    [ 0.689233] bone-capemgr bone_capemgr.9: loader: after slot-0 BB-BONE-LOGIBONE:00R1 (prio 0)
    [ 0.689266] bone-capemgr bone_capemgr.9: slot #0: Requesting firmware 'BB-BONE-LOGIBONE-00R1.dtbo' for board-name 'BB-BONE-LOGIBONE', version '00R1'
    [ 0.689290] bone-capemgr bone_capemgr.9: slot #0: dtbo 'BB-BONE-LOGIBONE-00R1.dtbo' loaded; converting to live tree
    [ 0.689617] bone-capemgr bone_capemgr.9: slot #0: #3 overlays
    [ 0.691737] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
    [ 0.693580] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
    [ 0.696315] bone-capemgr bone_capemgr.9: loader: before slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.696329] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.696343] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.696952] usb usb1: Manufacturer: Linux 3.8.13-bone63 musb-hcd
    [ 0.703587] bone-capemgr bone_capemgr.9: slot #0: Applied #3 overlays.
    [ 0.703604] bone-capemgr bone_capemgr.9: loader: done slot-0 BB-BONE-LOGIBONE:00R1 (prio 0)
    [ 0.703717] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.703742] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
    [ 0.703756] bone-capemgr bone_capemgr.9: loader: after slot-5 BB-BONELT-HDMI:00A0 (prio 1)
    [ 0.703779] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware 'cape-boneblack-hdmi-00A0.dtbo' for board-name 'Bone-Black-HDMI', version '00A0'
    [ 0.703807] bone-capemgr bone_capemgr.9: slot #5: dtbo 'cape-boneblack-hdmi-00A0.dtbo' loaded; converting to live tree
    [ 0.704822] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
    [ 0.705266] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
    [ 0.705284] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
    [ 0.705304] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
    [ 0.705317] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
    [ 0.705469] bone-capemgr bone_capemgr.9: slot #4: BB-BONE-EMMC-2G conflict P8.21 (#0:BB-BONE-LOGIBONE)
    [ 0.715228] bone-capemgr bone_capemgr.9: slot #4: Failed verification
    [ 0.721995] bone-capemgr bone_capemgr.9: loader: failed to load slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
    [ 0.731600] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.733637] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays.
    [ 0.733652] bone-capemgr bone_capemgr.9: loader: done slot-5 BB-BONELT-HDMI:00A0 (prio 1)
    [ 0.733695] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.733709] bone-capemgr bone_capemgr.9: loader: after slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 0.733732] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware 'cape-boneblack-hdmin-00A0.dtbo' for board-name 'Bone-Black-HDMIN', version '00A0'
    [ 0.733755] bone-capemgr bone_capemgr.9: slot #6: dtbo 'cape-boneblack-hdmin-00A0.dtbo' loaded; converting to live tree
    [ 0.733960] bone-capemgr bone_capemgr.9: slot #6: BB-BONELT-HDMIN conflict P8.45 (#5:BB-BONELT-HDMI)
    [ 0.743632] bone-capemgr bone_capemgr.9: slot #6: Failed verification
    [ 0.750381] bone-capemgr bone_capemgr.9: loader: failed to load slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
    [ 17.860407] usb usb2: Manufacturer: Linux 3.8.13-bone63 musb-hcd

    Here is my "cat /sys/devices/bone_capemgr.9/slots" output:

    0: 54:P---L BB-BONE-LOGIBONE,00R1,VALENTFX,BB-BONE-LOGIBONE
    1: 55:PF---
    2: 56:PF---
    3: 57:PF---
    5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
  • Hi,

    this is exactly what you should have. /dev/logibon used to be the interface to load teh FPGA, but now we do it from userspace. If you have run the install_logibone script from logi-tools (comment out the line "sudo ./init_eeprom.sh" to avoid loading the corrupted eeprom content), it has installed the new logi_loader tool in /usr/bin. Now you can just do "sudo logi_loader <your bitfile>.bit" to load the FPGA.

    Regards,

    Jonathan Piat
  • Ok, thank you. I truly appreciate your help. 

    Do you have a bitfile for the wishbone demo? I'm trying to run it and the write doesn't seem to work. The sequence of steps I have been taking is:

    Read 0x0000 to get "0xdead"
    Read 0x0001 to get "0xbeef"
    Read 0x0004 to get "0x0"
    Write 0x1234 to 0x0004 (No error reported)
    Read 0x0004 to get "0x0"

    It's like the write never occurred. I might have made a mistake in ISE generating the bitfile from the project in github so I wanted to isolate the issue with a known good bitfile.
  • @zorgee

    I would recommend cloning the logi-apps and running the wishbone demo.  It has everything configured to work out of the box.



    Cheers.
  • Which project did you synthesize for the problem you mention ? logibone-wishbone ? In this project the address 0x0004 is mapped to the pwm block wich can only be write. There was also a mistake in that project that i just corrected.
  • You are correct jpiat. I was thrown off by the "MEMORY_LAYOUT.TXT" that came with the logi-wishbone project under logi-projects. The one that seemed to be correct was here:


    Once I tried writing and reading to/from address 0x0002 instead of 0x0004, things worked well. I think the "MEMORY_LAYOUT.TXT" and "README.TXT" in this project might be out of date. 


  • You are right, we used to have byte aligned address and we moved to 16bit aligned address hence the x2 between the two ... Sorry about that. I will correct on the github.
Sign In or Register to comment.