My log says that "N...
 
Notifications
Clear all

My log says that "No FabScanPi HAT or compatible device is found". What can i do?

22 Posts
6 Users
0 Reactions
10.1 K Views
0
Topic starter

If you are have the Message "No FabScanPi HAT or compatible device found" in your log file you need to check the following options.

  1. First double check the solder joints of the 40-pin Header of the FabScanPi-HAT. If you are sure that there are no 'cold' solder joints move on reading, otherwise resolder those joints. Try again and have a look to the logs. If the error still occurs continue reading with 3.
  2. Check if your fabscanpi-server version is 0.8.0 or higher. Have a look into your default.config.json and check the serial baudrate. It should be 57600 for fabscanpi-server >= 0.4.2. If you changed the baudrate and the error still occurs continue with reading 3.
  3. Your bootloader is bricked, what means that you need to flash a new bootloader to your FabScanPi HAT. Continue with reading "How to flash the FabScanPi HAT Bootloader?"

How to flash the Bootloader?

! If you want to leave the HAT connected to the pi during the flashing process. Be sure you stopped the FabScanPi Server. You can use the following command to do that. !

$ sudo /etc/init.d/fabscanpi-server stop 

Option A: Using Raspberry Pi for flashing.

Connect the FabScanPi HAT pins as described below. (solder some wires to the solder pads). Use a resistor 2k2...5k6 in series for every signal. (see picture for details)

RPi  -> Target
IO25 -> Reset
IO11 -> SCK
IO10 -> MOSI
IO9  -> MISO
GND  -> GND
isp pi hat

Download bootloader:

$ wget  https://github.com/watterott/RPi-UNO-HAT/raw/master/docs/bloader.hex  

Edit the file avrdude.conf  and add the following lines:

$ sudo nano /usr/local/etc/avrdude.conf 
programmer id = "pi_isp"; 
desc = "GPIO bitbang";
type = "linuxgpio";
reset = 25; sck = 11;
mosi = 10;
miso = 9;
;

Flash bootloader:

$ avrdude -c pi_isp -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

Option B: Using Arduino Uno (device ttyACM0 or ttyUSB0 ) for flashing.

Connection (Arduino Uno connected to RPi via USB):

Uno -> Target 
D10 -> Reset
D13 -> SCK
D11 -> MOSI
D12 -> MISO
GND -> GND
isp arduino hat

Download bootloader and ISP firmware:

$ wget  https://raw.githubusercontent.com/watterott/RPi-UNO-HAT/master/software/bloader.hex 
$ wget  https://raw.githubusercontent.com/watterott/RPi-UNO-HAT/master/software/isp.hex  

Flash ISP firmware to Arduino Uno:

 $ avrdude -c arduino -P /dev/ttyUSB0 -b 115200 -p m328p -e -U flash:w:isp.hex:i 

or

 $ avrdude -c arduino -P /dev/ttyACM0 -b 115200 -p m328p -e -U flash:w:isp.hex:i 

Flash bootloader:

$ avrdude -c stk500v1 -P /dev/ttyUSB0 -b 19200 -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

or

$ avrdude -c stk500v1 -P /dev/ttyACM0 -b 19200 -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

 

CheSeb CheSeb 01/03/2020 12:02 pm
Posted by: @mario

If you are have the Message "No FabScanPi HAT or compatible device found" in your log file you need to check the following options.

  1. First double check the solder joints of the 40-pin Header of the FabScanPi-HAT. If you are sure that there are no 'cold' solder joints move on reading, otherwise resolder those joints. Try again and have a look to the logs. If the error still occurs continue reading with 3.
  2. Check if your fabscanpi-server version is 0.8.0 or higher. Have a look into your default.config.json and check the serial baudrate. It should be 57600 for fabscanpi-server >= 0.4.2. If you changed the baudrate and the error still occurs continue with reading 3.
  3. Your bootloader is bricked, what means that you need to flash a new bootloader to your FabScanPi HAT. Continue with reading "How to flash the FabScanPi HAT Bootloader?"

How to flash the Bootloader?

! If you want to leave the HAT connected to the pi during the flashing process. Be sure you stopped the FabScanPi Server. You can use the following command to do that. !

$ sudo /etc/init.d/fabscanpi-server stop 

Option A: Using Raspberry Pi for flashing.

Connect the FabScanPi HAT pins as described below. (solder some wires to the solder pads). Use a resistor 2k2...5k6 in series for every signal. (see picture for details)

RPi  -> Target
IO25 -> Reset
IO11 -> SCK
IO10 -> MOSI
IO9  -> MISO
GND  -> GND
isp pi hat

Download bootloader:

$ wget  https://github.com/watterott/RPi-UNO-HAT/raw/master/docs/bloader.hex  

Edit the file avrdude.conf  and add the following lines:

$ sudo nano /usr/local/etc/avrdude.conf 
programmer id = "pi_isp"; 
desc = "GPIO bitbang";
type = "linuxgpio";
reset = 25; sck = 11;
mosi = 10;
miso = 9;
;

Flash bootloader:

$ avrdude -c pi_isp -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

Option B: Using Arduino Uno (device ttyACM0 or ttyUSB0 ) for flashing.

Connection (Arduino Uno connected to RPi via USB):

Uno -> Target 
D10 -> Reset
D13 -> SCK
D11 -> MOSI
D12 -> MISO
GND -> GND
isp arduino hat

Download bootloader and ISP firmware:

$ wget  https://raw.githubusercontent.com/watterott/RPi-UNO-HAT/master/software/bloader.hex 
$ wget  https://raw.githubusercontent.com/watterott/RPi-UNO-HAT/master/software/isp.hex  

Flash ISP firmware to Arduino Uno:

 $ avrdude -c arduino -P /dev/ttyUSB0 -b 115200 -p m328p -e -U flash:w:isp.hex:i 

or

 $ avrdude -c arduino -P /dev/ttyACM0 -b 115200 -p m328p -e -U flash:w:isp.hex:i 

Flash bootloader:

$ avrdude -c stk500v1 -P /dev/ttyUSB0 -b 19200 -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

or

$ avrdude -c stk500v1 -P /dev/ttyACM0 -b 19200 -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

 

Thanks Mario, flashing the bootloader worked for me! So happy.

I download this hex file : https://github.com/watterott/RPi-UNO-HAT/blob/master/software/bloader.hex

 

and used to flash this: sudo avrdude -c pi_isp -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

0

I have figured out that I needed to be in the folder /etc to edit the proper .Conf file, I still however get an error of unable to start avr rc=1

Once I get a chance I will add clips from the log file, I have added it to another post with this same topic 

 

I may have screwed up soldering to the reset button pad on the hat I'm currently using, so I'm going to solder pins to the other hat I have that has the same no bootloader issue 

0

*heres a clip of the logfile after editing the proper file

pi@fabscanpi:~ $ sudo /etc/init.d/fabscanpi-server stop fabscanpi-server stopped.
pi@fabscanpi:~ $ sudo avrdude -c pi_isp -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude done. Thank you.

pi@fabscanpi:~ $ sudo avrdude -F -c pi_isp -p m328p -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x10e8db
avrdude: Expected signature for ATmega328P is 1E 95 0F

avrdude done. Thank you.

 

*curious if any pad on the reset button can be soldered to since there are 4 pads , i think maybe i screwed up one trying to solder to it

 

*if i try again

pi@fabscanpi:/usr/local/etc $ avrdude -F -c pi_isp -p m328 -e -U flash:w:bloader.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m -U lock:w:0x0F:m
Can't export GPIO 24, already exported/busy?: Device or resource busy
avrdude done. Thank you.

*or i get this error as well

 

Can't open gpioX/direction: Permission denied

avrdude done. Thank you.

 

*(dont mind the pin 24 change i did that to see if it was just pin 25 not working as both pins are giving this error when running the command

Page 2 / 2
Share: