More reliable to disable BT with latest Noobs

I was playing with my BrickPi last night and encountered a weird error. If I use the latest NOOBS and map BT to miniuart (http://www.briandorey.com/post/Raspberry-Pi-3-UART-Boot-Overlay-Part-Two), I get odd read/write io errors with LEGO-Motor_test.py. When I update boot/config.txt to disable BT and disable hciuart, it works much better.

I’m not sure why exactly, but I’m guessing the bt hciuart settings causes inconsistent read/write.

I did more experimenting to track down what’s causing the odd io error and I think it’s the serial port. When I disable the serial interface with raspi-config both workarounds don’t get any errors. When I enable the serial interface, after a few iterations of forward and reverse, it gets an IO error.

Here is a screen shot of the error you get when the serial interface causes errors. to get rid of it, turn off serial interface with raspi-config

woolfel, not sure what to do about this. The serial definitely needs to work, but as you point out there still seems to be some issues with the BT and Serial working at the same time. I haven’t tried out the BT, but I can see that as more folks start using the Pi 3, it will become a more pressing issue. What to do? (Seriously, what to do . . . I’m not exactly sure what to do about this)

atleast the experiment confirms there’s issues with the latest Raspbian. I tried it on both Pi 2 B and Pi 3. With Pi 2 and the older raspbian, I didn’t have these odd issues. I can using the older Noobs 1.8.0 this week and report my results. I suspect my Pi 2 will magically work fine with Noobs 1.8.0.

I decided to download the last raspbian wheezy release to see if the serial interference happens with my Pi 2 B. The answer is everything works fine with BrickPi. Tonight I will try looking at raspi forum to see if there are any other work arounds that will work with Raspbian jessie.

with any jessie release of Raspbian, the minute I do sudo apt-get update, it ends up with the latest code and messes up the serial interface.

Good news, I finally found a fix to get around the interference with the serial interface. I had to edit /boot/config.txt by adding this line to the end of the file

device_tree=bcm2709-rpi-2-b.dtb

reboot and that got things to work without any IO errors. The downside is it turns off the built-in Wifi and Bluetooth. I’m going to post a thread on raspi forum and see if there’s some way to hack the device tree so it’s like pi2 but with wifi. I will write up the instructions tonight on my blog.

Here is the blog entry with a tutorial for Pi 3 + BrickPi.

http://electronsfree.blogspot.com/2016/03/getting-around-io-errors-on-raspberry.html

Hey woolfel, thanks for such an in-depth stab at this! So I just want to clarify: I tested the latest image we published with the BrickPi and it worked. However, I didn’t test the Pi 3 BT. Is this test only necessary for using the BT? Also, is this a general update we should make to our Raspberry Pi image?

Thank you woolfel!

I don’t know the answer to that. I don’t fully understand it, but it appears the issue is how Pi 3 connects to the Wifi/BT chip. Using the Pi2 device tree seems to shut off that chip and avoids the IO inference. I have an USB wifi, so I can live with the trade off.

Since Pi 3 uses a single chip that does both Wifi and BT, I don’t know if it’s possible to change the device tree to enable just the Wifi. I suspect the answer isn’t straight forward. I plan to read up on how to edit the device tree and see if I can’t hack a new device tree that enables just the Wifi.

I was thinking of getting another brick pi instead of moving it from my Pi 3 to 2 to B+. I’ll report back what I find.

Hi John,

I’m wondering, is there any difference between BrickPi from 2014 and the latest?

I’ll download the dexter image and give it a try. Just to make sure I use the right one to test.

https://sourceforge.net/projects/dexterindustriesraspbianflavor/files/?source=navbar

Is the 2016.03.28 wheezy image the correct one? Is there a Jessie image for Pi 3 or is that the same one?

thanks

peter

@John - I just ordered a new BrickPi. It will be interesting to see compare the two.

I downloaded the 2016.03.28 winrar is saying the zip file is corrupt

I was able to download the .rar file instead. That image works fine with my BrickPi and Raspberry Pi 3 running LEGO-Motor_test.py. Since that image is based on Raspbian Wheezy, I’ll go back to my custom Jessie image on Pi 3.

Hey woolfel, I’ll test it and probably rezip and re-upload the zip file. Second time we’ve had that complaint, probably true. Thanks for the heads up!

glad to help

I just tested the latest BrickPi with and without the Pi2 device tree. The serial interference happens with the latest BrickPi and Pi 3 device tree. The same pi 2 device tree fix works for the latest brickpi. Now if only raspberry pi foundation could find a better solution that doesn’t cause interference, and still use the built-in Wifi.

Hey woofel,
We have just updated the Raspbian for Robots image to Jessie. You can find out more details here: http://www.dexterindustries.com/topic/jessie-raspbian-for-robots/.

Now the on-board bluetooth works for the Pi with the image.
-Karan

thanks, I’ll take a look. Does it fix the issue related to serial interface intereference?