Elliot Woods Posted July 30, 2017 Posted July 30, 2017 Hey all I'm trying to get an Orange Pi Zero (256MB) to talk with an MPU6050. (ARMBIAN 5.31 stable Ubuntu 16.04.2 LTS 3.4.113-sun8i) I've installed i2c. When I have a little OLED screen attached I get: root@orangepizero:~# sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- This is good, the OLED is at address 0x3c, and there's something built in at 0x48 which is alreaedy being used. But when I plug in my MPU6050 i get: root@orangepizero:~# sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- I.e. it is undetected So i tested with the following all connected on the same I2C bus: * Orange PI Zero * Arduino Uno * MPU6050 * OLED 128x64 The arduino will happily work with the MPU6050, whilst the opi will see the oled on the 0x3c address. All electrical connections are triple-checked (OLED is connected after the MPU6050 in the circuit). This suggests that the OPi is unable to communicate with the MPU6050 for some unknown reason. Does anybody have any hints as to what could be going wrong? I know that the MPU6050 should be seen on 0x68 (AD0 is low). Maybe addresses above 0x63 have an issue?
martinayotte Posted July 30, 2017 Posted July 30, 2017 The UU at 0x48 looks strange, because I don't have that on my OPiZero with Mainline. UU means that it is in use by a kernel driver ...
Elliot Woods Posted July 31, 2017 Author Posted July 31, 2017 mainline currently doesn't boot on my opi0 Armbian_5.27.170614_Orangepizero_Ubuntu_xenial_dev_4.11.3 2 red flashes after boot, and doesn't respond to ssh switching in old sd card works fine (legacy) is there an older mainline build which works well?
martinayotte Posted July 31, 2017 Posted July 31, 2017 Do you have any USB Serial to connect and capture log during your Mainline boot ?
Elliot Woods Posted August 3, 2017 Author Posted August 3, 2017 no. But i definitely should get one. it seems to be perhaps an SD card issue. Which is a shame because it's brand new and i just ordered 200 of the same. From the same batch the first one works fine, the second one doesn't. SanDisk 8GB MicroSD HC1 (genuine) Investigating...
nopnop2002 Posted August 3, 2017 Posted August 3, 2017 The UU at 0x48 is used by pcf8591 kernel driver. Please add pcf8591 to /etc/modprobe.d/fbdev-blacklist.conf and reboot. Before edit $ sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- After edit $ sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
martinayotte Posted August 4, 2017 Posted August 4, 2017 Why it is required to add that in blacklist if there is no PCF8591 present on OPi0 ? And if it is actually present on I2C bus, it should appear as 48 instead of UU after blacklisting it.
zador.blood.stained Posted August 4, 2017 Posted August 4, 2017 3 minutes ago, martinayotte said: Why it is required to add that in blacklist if there is no PCF8591 present on OPi0 ? Side effect of adding patches to support the "Matrix" kit from FriendlyArm. New modules don't read script.bin values and are loaded always.
martinayotte Posted August 4, 2017 Posted August 4, 2017 @zador.blood.stained, I don't understand your reply. We are talking about OPi0 here, right ? My OPi0s with Mainline don't load any PCF8591 driver, and i2cdetect doesn't show this 0x48 ...
zador.blood.stained Posted August 4, 2017 Posted August 4, 2017 27 minutes ago, martinayotte said: @zador.blood.stained, I don't understand your reply. We are talking about OPi0 here, right ? We are talking about the legacy kernel On 30.07.2017 at 1:43 PM, Elliot Woods said: (ARMBIAN 5.31 stable Ubuntu 16.04.2 LTS 3.4.113-sun8i) obviously mainline won't try to load anything that is not listed explicitly either in /etc/modules or DT
Recommended Posts