[SOLVED] Unsolvable GrovePi python issue

grovepi
firmware
kernel

#1

My grovepi was installed following the official guideline and run well in the beginning. However, after the script running for a while, error raised: “TypeError: ‘int’ object has no attribute ‘getitem’”. And this error will continue until reboot. I try almost all the solutions in Internet to solve this problem for weeks and none of those work. Here is the log after running all_tests.sh.

=============================
GrovePi Troubleshooting Script
=============================

Adding permissions to the scripts
=================================

Check space left
================
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G  4.4G  9.6G  32% /
devtmpfs        460M     0  460M   0% /dev
tmpfs           464M     0  464M   0% /dev/shm
tmpfs           464M   12M  452M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           464M     0  464M   0% /sys/fs/cgroup
/dev/mmcblk0p1   41M   21M   21M  51% /boot
tmpfs            93M     0   93M   0% /run/user/1000

Check for dependencies
======================
python 2.7.13-2 install ok installed
python-pip 9.0.1-2+rpt1 install ok installed
git 1:2.11.0-3+deb9u2 install ok installed
libi2c-dev 3.1.2-3 install ok installed
python-serial 3.2.1-1 install ok installed
python-rpi.gpio 0.6.3~stretch-1 install ok installed
i2c-tools 3.1.2-3 install ok installed
python-smbus 3.1.2-3 install ok installed
arduino 2:1.0.5+dfsg2-4.1 install ok installed
minicom 2.7-1.1 install ok installed
scratch 1.4.0.6~dfsg1-5 install ok installed

find: ‘/run/user/1000/gvfs’: Permission denied
wiringPi Found
find: ‘/run/user/1000/gvfs’: Permission denied
wiringPi Found
I2C still in blacklist (ERR)
SPI still in blacklist (ERR)


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: Embest
  * 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 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
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
Raspbian for Robots Version
===========================
cat: /home/pi/di_update/Raspbian_For_Robots/Version: No such file or directory


Hostname
========
raspberrypi


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 initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5
avrdude: safemode: Fuses OK

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:          -- 04 -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Checking for firmware version
=============================
GrovePi has firmware version: 1.2.7
Log has been saved to Desktop. Please copy it and send it by email or upload it on the forums

Thanks in advance for any help!


#2

Hi @tanyongnan1992,

The logs look good and I’m wondering where and how had you encountered this error?

Can you show us the code you’ve had issues with and that threw this error? Also, telling us what sensors/actuators you’ve got connected to it might help us debug it.

And it’s kind of worrying to hear that you’ve had this issue for weeks and yet, you haven’t got a resolution on it. Maybe we can help you.

Thank you!


#3

Oh, after downgrading to kernal version 4.4.5, the problem seems to be solved.
Also I should test for days to check if the problem will not arise again.
However, thanks a lot for your reply!


#4

Hi @tanyongnan1992,

You shouldn’t have needed that version of the kernel (v4.4.50-v7) for the GrovePi. That’s weird, because when I we did tests on it a while ago, it did work with newer versions of the kernel.

Can you tell us if you had the last version of the GrovePi installed on your Pi? And what script had you tried to run?

Thankfully, this works for you, so it ain’t like there’s no solution to it.

Thank you!


#5

Hi @RobertLucian,
I installed the GrovePi on the latest version of raspbian in the beginning. However, the error will arise after the script running for around 1 and half hour. My script just read the grove light and motion sensor by analogRead and digitalRead. And I had updated the GrovePi firmware version after installing the GrovePi.
I found someone has similar problem with me and he solved the it by downgrade: [SOLVED] TypeError: 'int' object has no attribute '__getitem__'
So I tried and the problem seems to be solved by now.
Thanks for your kindly help!


#6

Hi @tanyongnan1992,

Thanks a lot for telling this.
Anyway, we’ll be taking a look at this issue later as the last time we did the testing, there was no need in downgrading the kernel.

I’m now setting a timer on this post as it can be considered solved.

Thank you!


#7

This topic was automatically closed after 41 hours. New replies are no longer allowed.