Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOLVED: Screen doesnt turn on when printer powered on #2

Open
pmiller8 opened this issue Nov 18, 2023 · 24 comments
Open

SOLVED: Screen doesnt turn on when printer powered on #2

pmiller8 opened this issue Nov 18, 2023 · 24 comments

Comments

@pmiller8
Copy link

Screen purchased from fabreeko. Troubleshot and have to reflash screen after each power cycle on printer to get screen to turn on. Running klipper v0.12.0-1-g74473322. Request flashing instructions if able.

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

If you bought from Frabreeko it's not my original design. Standard RP2040 flashing instructions would apply though.

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

That said we can try and see if there's anything obvious. How are you connecting to your Raspberry Pi (pin header or usb connector)? Secondly what does your config look like for defining the screen?

@pmiller8
Copy link
Author

I understand. Sorry for the wrong post. Connected via usb only. Config is copied from this github.

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

To be fair the OG design is mine so I'd be interested in finding out what the issue is. I'm not sure, however, who manufactured and how it was done. So I can't really comment on the build quality.

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

When you do flash the firmware, what options have you selected in menuconfig? Can you send a screenshot?

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

Also, can you paste in your config? I just re-read your original question and, it's true the display does not come on when powered up, it takes a few seconds. It'd be good to just verify the whole config.

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

One more thing... After rebooting the SBC can you run a lsusb on the raspberry pi and paste the output here?

@pmiller8
Copy link
Author

pmiller8 commented Nov 18, 2023

Im not home to administer to the machine. But from a cold boot and lsusb, the output is

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1d50:614e OpenMoko, Inc. rp2040
Bus 001 Device 003: ID 1d50:614e OpenMoko, Inc. rp2040
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

If i hold the bootsel button when plugging it in, i can actually detect it with lsusb.

@th0mpy
Copy link
Owner

th0mpy commented Nov 18, 2023

Well.... I assume that you are running a SKR Pico board, in which case the two items listed in the lsusb:
Bus 001 Device 004: ID 1d50:614e OpenMoko, Inc. rp2040
Bus 001 Device 003: ID 1d50:614e OpenMoko, Inc. rp2040

One is your SKR board and the other is the Display.

Then, If you do:
ls /dev/serial/by-id/* what do you see there? Again, assuming you have a SKR Pico there will be two entries, one for the display and the other for the pico.

If I were to guess, it's probably working fine but the firmware is not correct.

Try the attached firmware and see if you have better results.
RP2040DisplayFirmware.zip

(when you update the firmware you'll need to point to the right serial id)

Once you have loaded the updated firmware. Send me both the output from ls /dev/serial/by-id/* and a full copy of your printer's config.

@pmiller8
Copy link
Author

Will do! Thanks for the help. Ill do this tomorrow night and report back here.

@pmiller8
Copy link
Author

uploaded the firmware you provided. below is the error i receive.

Klipper reports: ERROR

MCU Protocol error

This is frequently caused by running an older version of the
firmware on the MCU(s). Fix by recompiling and flashing the
firmware.

Your Klipper version is: v0.12.0-1-g74473322
MCU(s) which should be updated:
mcu: Current version v0.11.0-311-g9e765dae
umb: Current version v0.11.0-311-g9e765dae
rpi: Current version v0.11.0-311-g9e765dae
rp2040: Current version v0.11.0-200-g7511151a
Up-to-date MCU(s):

Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.

mcu 'rp2040': Unable to encode: config_i2c

i take it my mcu and umb are out of date?

@pmiller8
Copy link
Author

pmiller8 commented Nov 19, 2023

Ive update my klipper versions on the mcu and umb. from klippy.log, on reboot, i get this error in reference to the display:

mcu 'rp2040': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_rp2040_E6625C05E7123D26-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_rp2040_E6625C05E7123D26-if00'

@th0mpy
Copy link
Owner

th0mpy commented Nov 19, 2023

Can you double check and do an "ls /dev/serial/by-id/"

My firmware that I sent you is likely going to report back usb-Klipper_rp2040_V0-DISPLAY-if00 instead of what you have above.

Then just update the printer.cfg with that new value.

@pmiller8
Copy link
Author

pmiller8 commented Nov 19, 2023

so ive reflashed with your firmware and previously compiled my own. when i flashed with yours, it shows up as:
usb-Klipper_rp2040_V0DISPLAY-if00

i put that into my .cfg and do a soft restart. i now have a klipper version error.

MCU Protocol error

This is frequently caused by running an older version of the
firmware on the MCU(s). Fix by recompiling and flashing the
firmware.

Your Klipper version is: v0.12.0-1-g74473322
MCU(s) which should be updated:
display: Current version v0.11.0-200-g7511151a
Up-to-date MCU(s):
mcu: Current version v0.12.0-1-g74473322
umb: Current version v0.12.0-1-g74473322
rpi: Current version v0.12.0-1-g74473322

Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.

mcu 'display': Unable to encode: config_i2c

@pmiller8
Copy link
Author

can you please post the menuconfig settings your using so i can compile new firmware with klipper v0.12.0-1-g74473322?

@th0mpy
Copy link
Owner

th0mpy commented Nov 19, 2023

Here you are. Let me know if this helps.
Screenshot 2023-11-19 at 3 13 43 PM

You'll also want to go into "USB ids --->" and enter an ID

Screenshot 2023-11-19 at 3 14 17 PM

@th0mpy
Copy link
Owner

th0mpy commented Nov 19, 2023

Screenshot 2023-11-19 at 5 13 25 PM

@pmiller8
Copy link
Author

pmiller8 commented Nov 20, 2023

I tried with yours and built my own. I tried another screen from fabreeko. the klipper log keeps saying:

mcu 'rp2040': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_rp2040_V0DISPLAY-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_rp2040_V0DISPLAY-if00'

i think its my pi or a permisisons issue so im gonna wipe the card and start over. ill report back if it keeps happening but at this point it has to be an error on my part. thanks for the help!

@th0mpy
Copy link
Owner

th0mpy commented Nov 20, 2023 via email

@pmiller8
Copy link
Author

below is the error im getting on a fresh install on the sd card.

mcu 'rp2040': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_rp2040_V0DISPLAY-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_rp2040_V0DISPLAY-if00'

@th0mpy
Copy link
Owner

th0mpy commented Nov 21, 2023

Can you confirm whether that path exists? It sounds like it may not be booting up into the program. One thing you can try is to plug it in, then hit reset on the board itself. Then check to see if that path exists. You can also check lsusb and or dmesg to see if it's trying to connect.

@pmiller8
Copy link
Author

pmiller8 commented Nov 22, 2023

Im pretty sure the display isnt flashing properly. here's the dmesg:

[ 1057.758854] usb 1-1.1: new full-speed USB device number 10 using xhci_hcd
[ 1057.867394] usb 1-1.1: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
[ 1057.867414] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1057.867420] usb 1-1.1: Product: rp2040
[ 1057.867425] usb 1-1.1: Manufacturer: Klipper
[ 1057.867430] usb 1-1.1: SerialNumber: V0DISPLAY
[ 1057.873804] cdc_acm 1-1.1:1.0: ttyACM2: USB ACM device
[ 1062.480947] FAT-fs (sda1): FAT read failed (blocknr 1)
[ 1062.481667] FAT-fs (sda1): unable to read boot sector to mark fs as dirty
[ 1082.940433] usb 1-1.1: USB disconnect, device number 10

and

pi@v0-2:~/klipper/out $ sudo fdisk -l /dev/sda
Disk /dev/sda: 128 MiB, 134217728 bytes, 262144 sectors
Disk model: RP2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000a74ea

Device Boot Start End Sectors Size Id Type
/dev/sda1 1 262143 262143 128M e W95 FAT16 (LBA)

@pmiller8
Copy link
Author

I, FINALLY, solved it.

reading around, i found a post (somewhere) that directed me to change the 'Flash Chip' in menuconfig from "W25Q080 with CLKDIV 2" to "GENERIC_03H with CLKDIV4"

it appears to have fixed it as the screen comes on everytime i cycle power, is responsive, and shows up in terminal. Thanks for the troublehsooting help along the way! Please let me know why this fixed it!

@th0mpy
Copy link
Owner

th0mpy commented Nov 22, 2023

I think what happened here is the board was manufactured using old schematics. I'm in the process now of getting the folks at Voron to check it into their main hardware, which has some circuit changes. I think why this works is that it's causing a little bit of a delay in the startup routine of the chip, which combats any delay in the crystal from firing up to a stable signal. Early on I had this issue in another derivative that I was working on, and I fixed it by changing some of the circuit traces and adding a pullup on the run pin.

Again, that's just speculation. I ordered one from Fabreeko so I'll play with it a bit to determine what is going on with it.

I DO know that the latest version will be merged into the Voron github and it does not have this issue.

@pmiller8 pmiller8 changed the title Screen doesnt turn on when printer powered on SOLVED: Screen doesnt turn on when printer powered on Nov 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants