GrovePi - AVR device not responding

grovepi
firmware

#1

I was not able to get any of the samples to work, so I did a software update and then tried to do a firmware update which failed to connect.

I ran troubleshooting
heck space left

================
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       3.6G  3.0G  416M  88% /
devtmpfs        427M     0  427M   0% /dev
tmpfs           432M     0  432M   0% /dev/shm
tmpfs           432M  6.1M  425M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           432M     0  432M   0% /sys/fs/cgroup
/dev/mmcblk0p1   63M   21M   43M  33% /boot
tmpfs            87M     0   87M   0% /run/user/1000

Check for dependencies
======================
python 2.7.9-1 install ok installed
python-pip 1.5.6-5 install ok installed
git 1:2.1.4-2.1+deb8u5 install ok installed
libi2c-dev 3.1.1+svn-2 install ok installed
python-serial 2.6-1.1 install ok installed
python-rpi.gpio 0.6.3~jessie-1 install ok installed
i2c-tools 3.1.1+svn-2 install ok installed
python-smbus 3.1.1+svn-2 install ok installed
arduino 2:1.6.0 install ok installed
minicom 2.7-1+deb8u1 install ok installed
scratch 1.4.0.6~dfsg1-5 install ok installed

wiringPi Not Found (ERR)
wiringPi Found
I2C already removed from blacklist
SPI already removed from blacklist


Check for addition in /modules
==============================
I2C-dev already there
i2c-bcm2708 already there
spi-dev already there


Hardware revision
=================
gpio version: 2.36
Copyright (c) 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Sony 
  * Device tree is enabled.
  *--> Raspberry Pi 3 Model B Rev 1.2
  * This Raspberry Pi supports user-level GPIO access.


Check the /dev folder
=====================
i2c-1
spidev0.0
spidev0.1
ttyAMA0

USB device status
=================
Bus 001 Device 005: ID 046d:c077 Logitech, Inc. 
Bus 001 Device 004: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 5: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
Raspbian for Robots Version
===========================
V 7.3

This version of Raspbian was modified by Dexter Industries on the Jessie Raspbian Build.
This version was updated on 2017.09.28


Hostname
========
dex


Checking for Atmega chip
========================


avrdude: Version 5.10, compiled on Jun 18 2012 at 12:38:29
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/root/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : unknown
         Using Programmer              : gpio
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     5     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : GPIO
         Description     : Use sysfs interface to bitbang GPIO lines

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.


Checking I2C bus for devices
============================

Checking I2C bus 0
==================
Error: Could not open file `/dev/i2c-0' or `/dev/i2c/0': No such file or directory

Checking I2C bus 1
==================
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking for firmware version
=============================
Traceback (most recent call last):
  File "/home/pi/Dexter/GrovePi/Software/Python/grove_firmware_version_check.py", line 40, in <module>
    print("GrovePi has firmware version: %s" %grovepi.version())
  File "/home/pi/Dexter/GrovePi/Software/Python/grovepi.py", line 266, in version
    return "%s.%s.%s" % (number[1], number[2], number[3])
TypeError: 'int' object has no attribute '__getitem__'

#2


#3

Hi @tremblayst,

It looks like your I2C is not enabled on your Raspberry Pi.

Can you run sudo raspi-config, then go to Advanced Options and finally enable the I2C interface? Doing this should enable your I2C. You can then check the connectivity to your GrovePi by running the troubleshooter again.

As a side note, the reason you can’t communicate with the GrovePi is because the sudo curl -kL dexterindustries.com/update_grovepi | bash command hasn’t been run or because it didn’t get through all of it.

Please let us know if the provided solution helped you.

Thank you!


#4

I enabled it in raspi-config under advanced options, but I am still getting the same error in the troubleshooter. Could there be something wrong with my pi3?


#5

I also ran the grovepi update. It completed.


#6

access control disabled, clients can connect from any host

pi@dex:~ $ sudo curl -kl https://raw.githubusercontent.com/DexterInd/GrovePi/master/Script/update_grovepi.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1303  100  1303    0     0   7302      0 --:--:-- --:--:-- --:--:--  7320
GrovePi Directory Exists
HEAD is now at 9dabb50 hotfix - added support for python 3 (#381)
Already up-to-date.
Working from main branch.
--> Start GrovePi update install.
---------------------------------
  _____            _                                
 |  __ \          | |                               
 | |  | | _____  _| |_ ___ _ __                     
 | |  | |/ _ \ \/ / __/ _ \ '__|                    
 | |__| |  __/>  <| ||  __/ |                       
 |_____/ \___/_/\_\\__\___|_|          _            
 |_   _|         | |         | |      (_)           
   | |  _ __   __| |_   _ ___| |_ _ __ _  ___  ___  
   | | | '_ \ / _\ | | | / __| __| '__| |/ _ \/ __| 
  _| |_| | | | (_| | |_| \__ \ |_| |  | |  __/\__ \ 
 |_____|_| |_|\__,_|\__,_|___/\__|_|  |_|\___||___/ 
                                                    
                                                    
 
  _____                    _____ _ 
 / ____|                  |  __ (_)  
| |  __ _ __ _____   _____| |__) |   
| | |_ | '__/ _ \ \ / / _ \  ___/ |  
| |__| | | | (_) \ V /  __/ |   | |  
 \_____|_|  \___/ \_/ \___|_|   |_|  
Welcome to GrovePi Installer.
 
Requirements:
1) Must be connected to the internet
2) This script must be run as root user
 
Steps:
1) Installs package dependencies:
   - python-pip       alternative Python package installer
   - git              fast, scalable, distributed revision control system
   - libi2c-dev       userspace I2C programming library development files
   - python-serial    pyserial - module encapsulating access for the serial port
   - python-rpi.gpio  Python GPIO module for Raspberry Pi
   - i2c-tools        This Python module allows SMBus access through the I2C /dev
   - python-smbus     Python bindings for Linux SMBus access through i2c-dev
   - python3-smbus    Python3 bindings for Linux SMBus access through i2c-dev
   - arduino          AVR development board IDE and built-in libraries
   - minicom          friendly menu driven serial communication program
   - numpy            is the fundamental package for scientific computing with Python
2) Clone, build wiringPi in GrovePi/Script and install it
3) Removes I2C and SPI from modprobe blacklist /etc/modprobe.d/raspi-blacklist.conf
4) Adds I2C-dev, i2c-bcm2708 and spi-dev to /etc/modules
5) Installs gertboard avrdude_5.10-4_armhf.deb package
6) Runs gertboard setup
   - configures avrdude
   - downloads gertboard known boards and programmers
   - replaces avrsetup with gertboards version
   - in /etc/inittab comments out lines containing AMA0
   - in /boot/cmdline.txt removes: console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1
   - in /usr/share/arduino/hardware/arduino creates backup of boards.txt
   - in /usr/share/arduino/hardware/arduino creates backup of programmers.txt
 
Special thanks to Joe Sanford at Tufts University. This script was derived from his work. Thank you Joe!
 
Raspberry Pi wil reboot after completion.
 
 
Check for internet connectivity...
==================================
Connected to the Internet
 
Hit http://archive.raspberrypi.org jessie InRelease
Hit http://mirrordirector.raspbian.org jessie InRelease
Hit http://mirrordirector.raspbian.org jessie/main armhf Packages       
Hit http://archive.raspberrypi.org jessie/main armhf Packages           
Hit http://mirrordirector.raspbian.org jessie/contrib armhf Packages           
Hit http://mirrordirector.raspbian.org jessie/non-free armhf Packages          
Hit http://archive.raspberrypi.org jessie/ui armhf Packages                    
Hit http://mirrordirector.raspbian.org jessie/rpi armhf Packages
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_GB        
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en           
Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB           
Ign http://mirrordirector.raspbian.org jessie/main Translation-en              
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_GB       
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en          
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_GB            
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en               
Ign http://archive.raspberrypi.org jessie/main Translation-en_GB               
Ign http://archive.raspberrypi.org jessie/main Translation-en                  
Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB                 
Ign http://archive.raspberrypi.org jessie/ui Translation-en                    
Reading package lists... Done                                                  
 
Installing Dependencies
=======================
Reading package lists... Done
Building dependency tree       
Reading state information... Done
git is already the newest version.
minicom is already the newest version.
python-dev is already the newest version.
python-pip is already the newest version.
python-serial is already the newest version.
i2c-tools is already the newest version.
libi2c-dev is already the newest version.
python-smbus is already the newest version.
python3-smbus is already the newest version.
arduino is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 230 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  python-rpi.gpio*
0 upgraded, 0 newly installed, 1 to remove and 230 not upgraded.
After this operation, 103 kB disk space will be freed.
(Reading database ... 94109 files and directories currently installed.)
Removing python-rpi.gpio (0.6.3~jessie-1) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  python3-rpi.gpio*
0 upgraded, 0 newly installed, 1 to remove and 230 not upgraded.
After this operation, 182 kB disk space will be freed.
(Reading database ... 94099 files and directories currently installed.)
Removing python3-rpi.gpio (0.6.3~jessie-1) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  python-rpi.gpio
0 upgraded, 1 newly installed, 0 to remove and 230 not upgraded.
Need to get 0 B/23.5 kB of archives.
After this operation, 103 kB of additional disk space will be used.
Selecting previously unselected package python-rpi.gpio.
(Reading database ... 94087 files and directories currently installed.)
Preparing to unpack .../python-rpi.gpio_0.6.3~jessie-1_armhf.deb ...
Unpacking python-rpi.gpio (0.6.3~jessie-1) ...
Setting up python-rpi.gpio (0.6.3~jessie-1) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  python3-rpi.gpio
0 upgraded, 1 newly installed, 0 to remove and 230 not upgraded.
Need to get 0 B/28.2 kB of archives.
After this operation, 182 kB of additional disk space will be used.
Selecting previously unselected package python3-rpi.gpio.
(Reading database ... 94097 files and directories currently installed.)
Preparing to unpack .../python3-rpi.gpio_0.6.3~jessie-1_armhf.deb ...
Unpacking python3-rpi.gpio (0.6.3~jessie-1) ...
Setting up python3-rpi.gpio (0.6.3~jessie-1) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-scipy is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 230 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-scipy is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 230 not upgraded.
Requirement already up-to-date: RPi.GPIO in /usr/lib/python2.7/dist-packages
Cleaning up...
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages
Cleaning up...
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python3/dist-packages
Cleaning up...
Dependencies installed
wiringPi VERSION is 236
FOUND WiringPi Version 2.36 No installation needed.
 
 
 
Adding I2C-dev and SPI-dev in /etc/modules . . .
================================================
I2C-dev already present
i2c-bcm2708 already present
spi-dev already present
 
Making I2C changes in /boot/config.txt . . .
================================================
i2c1 already present
i2c_arm already present
adduser: The group `i2c' already exists.
Installing avrdude
==================
/home/pi/Dexter/lib/AVRDUDE Found!
avrdude 5.10 Found
done with AVRDUDE 
Install python libraries
If you see errors related to /etc/inittab, it's fine.
/etc/inittab has been deprecated in favor of systemd,
cfr. https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=123081
 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-smbus is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 230 not upgraded.
 
Making libraries global . . .
=============================
Done
 
Please restart the Raspberry Pi for the changes to take effect
 
Please restart to implement changes!
  _____  ______  _____ _______       _____ _______ 
 |  __ \|  ____|/ ____|__   __|/\   |  __ \__   __|
 | |__) | |__  | (___    | |  /  \  | |__) | | |   
 |  _  /|  __|  \___ \   | | / /\ \ |  _  /  | |   
 | | \ \| |____ ____) |  | |/ ____ \| | \ \  | |   
 |_|  \_\______|_____/   |_/_/    \_\_|  \_\ |_|   
 
Please restart to implement changes!
To Restart type sudo reboot

#7

Hi @tremblayst,

Okay, so after you ran the update (sudo curl -kL dexterindustries.com/update_grovepi | bash), you still weren’t being able to interface with your GrovePi? That’s a bit peculiar.

If it still doesn’t work for you, can you tell us:

  1. If you’re using the Jessie or the Stretch distro?

  2. What the command uname -a outputs?

  3. What the i2cdetect -y 1 command ouputs?

Thank you!


#8

Jessie

pi@dex:~ $ uname -a
Linux dex 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux

pi@dex:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --