Jetson Nano on "Jetbot": OSError: [Errno 121] Remote I/O error`

Hey guys. I got my jetbot (" SparkFun JetBot AI Kit v2.1 Powered by Jetson Nano ") about a month ago and I just cant get it to work. Im really struggling to know what to do next - it feels like I’ve tried all i could…

I just redid the hardware assembly for the third time - no problems at all there. Now for the flashing of the SD card: I have tried four different images:

  • “jetbot_image_v0p4p0.zip”
  • “jetbot_image_v0p3p2.zip”
  • “jetson-nano-jp46-sd-card-image.zip”
  • “jetson-nano-sd-card-image-r32.2.zip”

currently im running on the “jetbot_image_v0p4p0.zip” for the second time.
After assembly is done I create a docker file and update the system - allowing me to use the edumax-wifi dongle. I can run the jetson both through the GUI using HDMI, aswell as through ssh.

What I cannot do though, is to initialize the robot class - or run anything that moves the robot really. Also the LED display does not turn on.

Running Ubuntu 18.04.5 LTS

The error message i get whenn trying to run
from jetbot import Robot robot = Robot()

is the following:
`---------------------------------------------------------------------------
OSError Traceback (most recent call last)
in
----> 1 robot = Robot()

/usr/local/lib/python3.6/dist-packages/jetbot-0.4.3-py3.6.egg/jetbot/robot.py in init (self, *args, **kwargs)
20 def init (self, *args, **kwargs):
21 super(Robot, self). init (*args, **kwargs)
—> 22 self.motor_driver = Adafruit_MotorHAT(i2c_bus=self.i2c_bus)
23 self.left_motor = Motor(self.motor_driver, channel=self.left_motor_channel, alpha=self.left_motor_alpha)
24 self.right_motor = Motor(self.motor_driver, channel=self.right_motor_channel, alpha=self.right_motor_alpha)

/usr/local/lib/python3.6/dist-packages/Adafruit_MotorHAT-1.4.0-py3.6.egg/Adafruit_MotorHAT/Adafruit_MotorHAT_Motors.py in init (self, addr, freq, i2c, i2c_bus)
229 self.motors = [ Adafruit_DCMotor(self, m) for m in range(4) ]
230 self.steppers = [ Adafruit_StepperMotor(self, 1), Adafruit_StepperMotor(self, 2) ]
→ 231 self._pwm = PWM(addr, debug=False, i2c=i2c, i2c_bus=i2c_bus)
232 self._pwm.setPWMFreq(self._frequency)
233

/usr/local/lib/python3.6/dist-packages/Adafruit_MotorHAT-1.4.0-py3.6.egg/Adafruit_MotorHAT/Adafruit_PWM_Servo_Driver.py in init (self, address, debug, i2c, i2c_bus)
57 self.i2c = get_i2c_device(address, i2c, i2c_bus)
58 logger.debug(“Reseting PCA9685 MODE1 (without SLEEP) and MODE2”)
—> 59 self.setAllPWM(0, 0)
60 self.i2c.write8(self.__MODE2, self.__OUTDRV)
61 self.i2c.write8(self.__MODE1, self.__ALLCALL)

/usr/local/lib/python3.6/dist-packages/Adafruit_MotorHAT-1.4.0-py3.6.egg/Adafruit_MotorHAT/Adafruit_PWM_Servo_Driver.py in setAllPWM(self, on, off)
93 def setAllPWM(self, on, off):
94 “Sets a all PWM channels”
—> 95 self.i2c.write8(self.__ALL_LED_ON_L, on & 0xFF)
96 self.i2c.write8(self.__ALL_LED_ON_H, on >> 8)
97 self.i2c.write8(self.__ALL_LED_OFF_L, off & 0xFF)

/usr/local/lib/python3.6/dist-packages/Adafruit_GPIO-1.0.4-py3.6.egg/Adafruit_GPIO/I2C.py in write8(self, register, value)
114 “”“Write an 8-bit value to the specified register.”""
115 value = value & 0xFF
→ 116 self._bus.write_byte_data(self._address, register, value)
117 self._logger.debug(“Wrote 0x%02X to register 0x%02X”,
118 value, register)

/usr/local/lib/python3.6/dist-packages/Adafruit_PureIO-1.0.4-py3.6.egg/Adafruit_PureIO/smbus.py in write_byte_data(self, addr, cmd, val)
266 # Send the data to the device.
267 self._select_device(addr)
→ 268 self._device.write(data)
269
270 def write_word_data(self, addr, cmd, val):

OSError: [Errno 121] Remote I/O error`

Thanks in advance me and my son are desperate at this point. What do you think I could try next?

Sorry for the late response, have you tried relevant info from GitHub - NVIDIA-AI-IOT/jetbot: An educational AI robot based on NVIDIA Jetson Nano.?