adafruit / Adafruit-PiTFT-Helper

Script to configure an installed PiTFT
MIT License
82 stars 26 forks source link

Enabling PiTFT on Zero W breaks builtin WiFi #18

Closed vyruz1986 closed 7 years ago

vyruz1986 commented 7 years ago

If I run the pitft helper to enable the pitft on my RPi Zero W, after reboot the screen works correctly but WiFi no longer works.

ladyada commented 7 years ago

yep - right now we would need to recompile the kernel for pi zero wifi support. for now you can try just enabling the overlay

[pi1]
device_tree=bcm2708-rpi-b-plus.dtb
[pi2]
device_tree=bcm2709-rpi-2-b.dtb
[all]
dtparam=spi=on
dtparam=i2c1=on
dtparam=i2c_arm=on
dtoverlay=pitft28-resistive,rotate=90,speed=32000000,fps=20

see https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README for more overlay options

no ETA on recompiling the kernel, please do not reply with a "me too" - use the +1 emoticon

legoabram commented 7 years ago

I actually managed to get it working by replacing the default config items that the helper added with these...

device_tree=bcm2708-rpi-0-w.dtb
[all]
dtparam=spi=on
dtparam=i2c1=on
dtparam=i2c_arm=on
dtoverlay=pitft28-resistive,rotate=90,speed=32000000,fps=20

I have no idea if there are any long standing consequences from this, but it is currently working. Just make sure that there really is a bcm2708-rpi-0-w.dtb in your /boot directory.

otomic commented 7 years ago

I apologize for being so "late to the party" here but I am looking for help. I am having trouble following this train of thought. In fact I'm also trying to use a pi zero w to work with a pitft and retropie and and this is the only thing I've found. Please help

PaintYourDragon commented 7 years ago

This guide walks though a process for running RetroPie on a PiTFT display, without using the PITFT-Helper script:: https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays

otomic commented 7 years ago

Has anyone confirmed that this will work with a pi zero w?

PaintYourDragon commented 7 years ago

Not yet...BUT...since it doesn't modify the kernel, just enables an existing overlay for the PiTFT, I don't foresee any likely problems. I've got a couple other support issues on my plate at the moment but if time permits I'll give it a shot this evening.

otomic commented 7 years ago

Okay. I'll certainly try tomorrow and report back.

otomic commented 7 years ago

Would the fact that the screen itself doesn't react (go completely white) cause any problems? Or is that natural?

legoabram commented 7 years ago

I can confirm that at the very least, my solution worked on a Pi Zero W. I apologize for not being highly explicit. After installing the pitft as normal, open the /boot/config.txt file and replace the lines that the script added above [all] with device_tree=bcm2708-rpi-0-w.dtb. The section that the script added is fairly well marked. I can't guarantee anything, but it worked for me. Again, make sure that the bcm2708-rpi-0-w.dtb file exists in your boot folder before trying this.

PaintYourDragon commented 7 years ago

Can confirm 100% the method above (link to OpenGL-on-PiTFT guide) works on Pi Zero W. Pi boots, wireless works, PiTFT works.

Use latest RetroPie (4.2 or later), Pi Zero/1 version. DO NOT run the PiTFT-helper script. Instead, use the directions on the "PiTFT Setup" page of the guide mentioned above. Or here's the link: https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays/pitft-setup The Pi will need to be on your wireless network before doing this; scripts and packages need to be downloaded. That's covered in tutorials elsewhere, or there's a WiFi configurator somewhere in the EmulationStation menus.

REPEAT: for RetroPie, DO NOT use the PiTFT helper script. Use the pitft-fbcp script mentioned in the guide above only, that's it. You should NOT need to clean up any overlay mess in /boot.

otomic commented 7 years ago

So once running this cd curl -O https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/pitft-fbcp.sh sudo bash pitft-fbcp.sh What options should I select? If I'm not mistaken there are options once the code is ran.

Also please post a picture of yours if possible. Thanks

PaintYourDragon commented 7 years ago

Any of them will work...maybe try "PiGRRL Zero" to start. Then, at most, you may need to change the "rotate=" value in the dtoverlay line in /boot/config.txt (you'll still get a picture on the screen, it just might be upside-down from the orientation needed for whatever you're building). pizero1 pizero2

otomic commented 7 years ago

Okay the screen I have is a 2.8" and yours is a 2.2" which I assume wouldn't make a big difference. Should I expand the filesystem first? Because I tried this without expanding and the screen appeared to light up however quickly went dim.

PaintYourDragon commented 7 years ago

2.2, 2.8, doesn't matter...the display driver is the same in all of them (only the 3.5" screen needs special handling).

I think any recent version of Raspbian will expand the filesystem automatically on first boot. RetroPie definitely does. But other versions maybe not...there's certainly no harm in going to raspi-config and selecting that option, even if it's been previously expanded.

It's normal for the screen to be white when power is first connected, then go black part way into the boot process (it's a good sign actually, means the device tree overlay is loaded and active). After a few more seconds, if fbcp is properly installed (the script should handle this), you'll see stuff on the screen. The Pi Zero is really pokey so you may need to give it about a minute for the whole boot sequence to run its course.

otomic commented 7 years ago

I mean that the display will start black but its obviously on and then all light will disappear as if its turned off.

PaintYourDragon commented 7 years ago

I'd suggest moving the discussion to forums.adafruit.com - script issue is resolved, this is getting to a specific hardware instance. Clear photos of both sides of the Pi and the PiTFT are helpful; may just be a soldering issue. Also, if you previously used the pitft-helper script, don't use the pitft-fbcp script "on top" of it...the latter requires beginning from a clean install...pitft-helper will have already made some rather deep and irreversible changes.

otomic commented 7 years ago

I always use a fresh image. I usually just put the pi zero w gpio holes through the pins on the pitft. Do you think they need to be soldered to the pitft?

ladyada commented 7 years ago

yes. please post on the forums once you have soldered them if you need more help