Hi,
I finished my FPZero build yesterday. But the performance is realy bad, I can not play any game smoothly (GB, NES...). I think the PiZero should be powerful enough to handle those games... The Emulationstation menu is slow, too.
I'm using stock software (provided SD card image). I tested some settings (retroarch or emulator), it only gets worse...
I wonder if I have a problem with undervoltage. I can't see the flash on the top right corner, but I'm not sure if it will be displayed on the FPZero. I'm using the "RPi GPIO Solderless Hammer Header (for Freeplay Zero)"... maybe soldering will solve this.
How can I detect undervoltage (without connecting to HDMI)? I have access through SSH, is there a log file or a script I can execute?
This is really very odd sounding. I wonder if there is some solder problem with the RPi Zero headers. If that was adding some extra resistance (or there were bridged pins) it could maybe have this effect. Would you want to post some photos of the solder for us to inspect?
You could also pull the Pi out of the FPZ and hook up to HDMI. That might tell you if the problem is on the Pi itself.
UPDATE: Are you plugging in any USB devices? Are you connected to a WiFi network?
You could try turning off WiFi. I have seen it affect performance, but not like what it seems you're talking about.
My first test would be to run the Pi by itself (without the FPZ board) connected to HDMI. You might want to connect a keyboard or controller via USB to test it. If it's slow there, I'd inspect the solder and maybe try a different SD card.
I will try to answer your questions:
- FPZ board GPIO solder looks good
- I can't run the Pi by itself-> no HDMI adapter
- sometimes I plug a wireless keyboard (but this does not affect the performance)
- I'm using Wifi at the moment
- I disabled Bluetooth
Questions:
- Is there an indicator for undervoltage through SSH (python script, log....?)
I wrote/copied a python script to listen on pin35. It should be triggered if voltage drops low. It tells me that the pin is already in use... I think the FPZ board is overriding the default behaviour
- Is there a way to disable wifi via RetroPie menu? (via settings... simple PORTS application ... etc?)
I know, wifi can be disabled throught /boot/config.txt like I did with Bluetooth. But that is not comfortable... plugging a keyboard to enable/disable wifi (or disable via SSH). I will turn off Wifi later when setup is completed
My current solution:
I reassembled my FPZ yesterday. My GPIO headers on the PiZero had a little gap (<1mm), fixed it. I filed the spacers, to reduce the angle between FPZ board and PiZero. Now my FPZ runs smoothly with overclocking, enabled wifi and attached wireless keyboard.
But my questions (see above) are still relevant
That's great news that you got it working well!
Voltage Indicator Question:
Well, that's a solid "kinda." As far as I know, you can measure the core voltage, but you can't measure the 5V or 3.3V.
If you're ssh'd in, do
Code:
for id in core sdram_c sdram_i sdram_p ; do sudo echo -e "$id:\t$(vcgencmd measure_volts $id)" ; done
It will print something like
Code:
core: volt=1.2000V
sdram_c: volt=1.2000V
sdram_i: volt=1.2000V
sdram_p: volt=1.2250V
What you mentioned with pin35 is likely something someone wrote that would interface with some external voltage ADC hardware.
WiFi Disable Question:
Please see
http://forum.freeplaytech.com/showthread...475&page=4
(01-27-2018, 03:05 AM)WiFi Disable Question: Wrote: [ -> ]Please see http://forum.freeplaytech.com/showthread...475&page=4
Thanks, with rfkill I can toggle WiFi and Bluetooth through RetroPie menu. Unfortunately, the WiFi module is still "active". Using "dtoverlay=pi3-disable-wifi" will disable the module itself, so software can't reactivate it. I can not prove it, but I suspect that the solution with "rfkill" still consumes power/performance.
I would like to pick up a few ideas from the "rfkill" solution to implement another idea. I want to write scripts that will modify settings files:
- disable-wifi.sh
- disable-bt.sh
- enable-wifi.sh
- enable-bt.sh
These scripts are available through RetroPie menu and will modify 2 settings files:
- /home/pi/wifi-settings.txt
- /home/pi/bt-settings.txt
These settings files will just contain "dtoverlay=pi3-disable-wifi" or "dtoverlay=pi3-disable-bt" (if disabled, othwerwise they are blank).
Disadvantage: With this solution, the device must be restarted for the settings to take effect... It's OK for me...
My problem is:
I mount my
boot partition readonly to avoid SD corruption. So I can't modify my
/boot/config.txt directly. My idea is to "include/load" my 2 custom settings files through config.txt, so I have to modify my config.txt only once (make boot partition writeable -> modify config.txt -> make boot partition readonly again).
I don't know how to include/load my custom settings files through config.txt!?
I've described my issue here, too:
https://raspberrypi.stackexchange.com/qu...config-txt
Quote:I don't know how to include/load my custom settings files through config.txt!?
I've described my issue here, too:
https://raspberrypi.stackexchange.com/qu...config-txt
It seems to be impossible... See post in other forum
Ingo Wrote:This is not possible. Dokumentation of config.txt says:
"This (rem.: config.txt) is read by the GPU before the ARM CPU and Linux are initialised. It must therefore be located on the first (boot) partition of your SD card, alongside bootcode.bin and start.elf."
... no access to other partition on boot...
Yeah, I agree with that answer, but I was also hoping that someone might have another idea how you could do it.
THEORETICALLY:
I wonder if you could install a switch hooked to a GPIO line. At bootup, depending on high/low, it would enable/disable WiFi (via config.txt). I do know that the config.txt has some ways to do conditionals for lines. For example, we use a different line for the audio setup depending on if we are booting a Pi Zero or a CM3. Offhand, I don't know what sort of things you can use for the conditions.