PiGrrl Zero White Screen Conundrum

Moderators: adafruit_support_bill, adafruit

Forum rules
Talk about Adafruit Raspberry Pi® accessories! Please do not ask for Linux support, this is for Adafruit products only! For Raspberry Pi help please visit: http://www.raspberrypi.org/phpBB3/
Locked
User avatar
Lorinan
 
Posts: 3
Joined: Tue Feb 06, 2018 12:54 am

PiGrrl Zero White Screen Conundrum

Post by Lorinan »

HI All.
I decided to throw my hand into the ring with trying to do the PiGrrl Zero. Got everything together, continuity seems clear on all the points, but when I connect power and flip the switch, I just get the white screen. I'm including a copy of the code from dmesg.txt as well as a photo of the soldering (hopefully it is clear enough, I've had some issues with lighting of late).

Code: Select all

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.35+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #1014 Fri Jun 30 14:34:49 BST 2017
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] OF: fdt:Machine model: Raspberry Pi Zero W Rev 1.1
[    0.000000] cma: Reserved 8 MiB at 0x1c800000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 119808
[    0.000000] free_area_init_node: node 0, pgdat c0914874, node_mem_map dc3e3000
[    0.000000]   Normal zone: 1053 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 119808 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 118755
[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=320 bcm2708_fb.fbheight=240 bcm2708_fb.fbswap=1 smsc95xx.macaddr=B8:27:EB:1D:BC:E3 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=3d24ca30-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 456240K/479232K available (5946K kernel code, 489K rwdata, 1948K rodata, 400K init, 734K bss, 14800K reserved, 8192K cma-reserved)
[    0.000000] Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xdd800000 - 0xff800000   ( 544 MB)
    lowmem  : 0xc0000000 - 0xdd400000   ( 468 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc05d6bbc   (5947 kB)
      .init : 0xc0840000 - 0xc08a4000   ( 400 kB)
      .data : 0xc08a4000 - 0xc091e728   ( 490 kB)
       .bss : 0xc091e728 - 0xc09d5f28   ( 734 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000030] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns
[    0.000061] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
[    0.000154] bcm2835: system timer (irq = 27)
[    0.000612] Console: colour dummy device 80x30
[    0.000635] console [tty1] enabled
[    0.000660] Calibrating delay loop... 697.95 BogoMIPS (lpj=3489792)
[    0.060299] pid_max: default: 32768 minimum: 301
[    0.060727] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.060742] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.061810] Disabling cpuset control group subsystem
[    0.062015] CPU: Testing write buffer coherency: ok
[    0.062073] ftrace: allocating 21712 entries in 64 pages
[    0.176822] Setting up static identity map for 0x8200 - 0x8238
[    0.178803] devtmpfs: initialized
[    0.188186] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    0.188604] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.188630] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.189910] pinctrl core: initialized pinctrl subsystem
[    0.191349] NET: Registered protocol family 16
[    0.193857] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.203614] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.203629] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.203733] Serial: AMBA PL011 UART driver
[    0.206591] bcm2835-mbox 2000b880.mailbox: mailbox enabled
[    0.207296] uart-pl011 20201000.serial: could not find pctldev for node /soc/gpio@7e200000/uart0_pins, deferring probe
[    0.255717] bcm2835-dma 20007000.dma: DMA legacy API manager at dd80d000, dmachans=0x1
[    0.258471] SCSI subsystem initialized
[    0.258748] usbcore: registered new interface driver usbfs
[    0.258868] usbcore: registered new interface driver hub
[    0.259064] usbcore: registered new device driver usb
[    0.266901] raspberrypi-firmware soc:firmware: Attached to firmware from 2017-07-03 14:16
[    0.268868] clocksource: Switched to clocksource timer
[    0.325085] VFS: Disk quotas dquot_6.6.0
[    0.325200] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.325497] FS-Cache: Loaded
[    0.325852] CacheFiles: Loaded
[    0.345141] NET: Registered protocol family 2
[    0.346483] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.346572] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.346667] TCP: Hash tables configured (established 4096 bind 4096)
[    0.346760] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.346786] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.347110] NET: Registered protocol family 1
[    0.347853] RPC: Registered named UNIX socket transport module.
[    0.347864] RPC: Registered udp transport module.
[    0.347869] RPC: Registered tcp transport module.
[    0.347873] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.349179] hw perfevents: enabled with armv6_1176 PMU driver, 3 counters available
[    0.351556] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.371459] FS-Cache: Netfs 'nfs' registered for caching
[    0.373192] NFS: Registering the id_resolver key type
[    0.373238] Key type id_resolver registered
[    0.373244] Key type id_legacy registered
[    0.377659] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.378020] io scheduler noop registered
[    0.378032] io scheduler deadline registered (default)
[    0.378494] io scheduler cfq registered
[    0.384395] BCM2708FB: allocated DMA memory 5c900000
[    0.384453] BCM2708FB: allocated DMA channel 0 @ dd80d000
[    0.388509] Console: switching to colour frame buffer device 40x30
[    0.393250] bcm2835-rng 20104000.rng: hwrng registered
[    0.393402] vc-cma: Videocore CMA driver
[    0.393413] vc-cma: vc_cma_base      = 0x00000000
[    0.393421] vc-cma: vc_cma_size      = 0x00000000 (0 MiB)
[    0.393426] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    0.393830] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    0.418672] brd: module loaded
[    0.430910] loop: module loaded
[    0.430931] Loading iSCSI transport class v2.0-870.
[    0.431794] usbcore: registered new interface driver smsc95xx
[    0.431822] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.660136] Core Release: 2.80a
[    0.660163] Setting default values for core params
[    0.660201] Finished setting default values for core params
[    0.860552] Using Buffer DMA mode
[    0.860564] Periodic Transfer Interrupt Enhancement - disabled
[    0.860569] Multiprocessor Interrupt Enhancement - disabled
[    0.860580] OTG VER PARAM: 0, OTG VER FLAG: 0
[    0.860669] Dedicated Tx FIFOs mode
[    0.861259] WARN::dwc_otg_hcd_init:1032: FIQ DMA bounce buffers: virt = 0xdc914000 dma = 0x5c914000 len=9024
[    0.861285] FIQ FSM acceleration enabled for :
Non-periodic Split Transactions
Periodic Split Transactions
High-Speed Isochronous Endpoints
Interrupt/Control Split Transaction hack enabled
[    0.861295] dwc_otg: Microframe scheduler enabled
[    0.861378] WARN::hcd_init_fiq:459: FIQ on core 0 at 0xc04512ec
[    0.861390] WARN::hcd_init_fiq:460: FIQ ASM at 0xc04515c8 length 36
[    0.861415] WARN::hcd_init_fiq:486: MPHI regs_base at 0xdd878000
[    0.861484] dwc_otg 20980000.usb: DWC OTG Controller
[    0.861548] dwc_otg 20980000.usb: new USB bus registered, assigned bus number 1
[    0.861667] dwc_otg 20980000.usb: irq 56, io mem 0x00000000
[    0.861720] Init: Port Power? op_state=1
[    0.861725] Init: Power Port (0)
[    0.862082] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.862097] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.862108] usb usb1: Product: DWC OTG Controller
[    0.862117] usb usb1: Manufacturer: Linux 4.9.35+ dwc_otg_hcd
[    0.862127] usb usb1: SerialNumber: 20980000.usb
[    0.863302] hub 1-0:1.0: USB hub found
[    0.863388] hub 1-0:1.0: 1 port detected
[    0.864264] dwc_otg: FIQ enabled
[    0.864274] dwc_otg: NAK holdoff enabled
[    0.864279] dwc_otg: FIQ split-transaction FSM enabled
[    0.864299] Module dwc_common_port init
[    0.864800] usbcore: registered new interface driver usb-storage
[    0.865252] mousedev: PS/2 mouse device common for all mice
[    0.866846] bcm2835-wdt 20100000.watchdog: Broadcom BCM2835 watchdog timer
[    0.867349] bcm2835-cpufreq: min=700000 max=1000000
[    0.867979] sdhci: Secure Digital Host Controller Interface driver
[    0.867986] sdhci: Copyright(c) Pierre Ossman
[    0.868463] sdhost-bcm2835 20202000.sdhost: could not get clk, deferring probe
[    0.870989] mmc-bcm2835 20300000.mmc: could not get clk, deferring probe
[    0.871156] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.871682] ledtrig-cpu: registered to indicate activity on CPUs
[    0.871827] hidraw: raw HID events driver (C) Jiri Kosina
[    0.872096] usbcore: registered new interface driver usbhid
[    0.872103] usbhid: USB HID core driver
[    0.873324] vchiq: vchiq_init_state: slot_zero = 0xdc980000, is_master = 0
[    0.875707] Initializing XFRM netlink socket
[    0.875762] NET: Registered protocol family 17
[    0.875941] Key type dns_resolver registered
[    0.878273] registered taskstats version 1
[    0.878807] vc-sm: Videocore shared memory driver
[    0.878830] [vc_sm_connected_init]: start
[    0.884880] [vc_sm_connected_init]: end - returning 0
[    0.893530] 20201000.serial: ttyAMA0 at MMIO 0x20201000 (irq = 81, base_baud = 0) is a PL011 rev2
[    0.895928] sdhost: log_buf @ dc913000 (5c913000)
[    0.968949] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    0.971452] mmc-bcm2835 20300000.mmc: mmc_debug:0 mmc_debug2:0
[    0.971468] mmc-bcm2835 20300000.mmc: DMA channel allocated
[    1.002004] random: fast init done
[    1.049095] of_cfs_init
[    1.049272] of_cfs_init: OK
[    1.055758] Waiting for root device PARTUUID=3d24ca30-02...
[    1.067053] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    1.068696] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.070487] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.073526] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.107913] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.111096] mmc0: new high speed SDHC card at address e624
[    1.112321] mmcblk0: mmc0:e624 SU16G 14.8 GiB
[    1.114831]  mmcblk0: p1 p2
[    1.179196] mmc1: new high speed SDIO card at address 0001
[    1.186725] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    1.186817] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.188205] devtmpfs: mounted
[    1.189502] Freeing unused kernel memory: 400K (c0840000 - c08a4000)
[    1.189510] This architecture does not have kernel memory protection.
[    1.508082] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -BANNED)
[    1.508694] systemd[1]: Detected architecture 'arm'.
[    1.644715] NET: Registered protocol family 10
[    1.646629] systemd[1]: Inserted module 'ipv6'
[    1.649687] systemd[1]: Set hostname to <retropie>.
[    1.650211] systemd[1]: Initializing machine ID from random generator.
[    1.650777] systemd[1]: Installed transient /etc/machine-id file.
[    2.388627] systemd[1]: Cannot add dependency job for unit regenerate_ssh_host_keys.service, ignoring: Unit regenerate_ssh_host_keys.service failed to load: No such file or directory.
[    2.395411] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[    2.396253] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    2.396480] systemd[1]: Starting Remote File Systems (Pre).
[    2.877405] fuse init (API version 7.26)
[    4.696226] systemd-udevd[132]: starting version 215
[    6.779123] gpiomem-bcm2835 20200000.gpiomem: Initialised: Registers at 0x20200000
[    6.978155] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    7.968566] usbcore: registered new interface driver brcmfmac
[    8.146350] brcmfmac: Firmware version = wl0: Aug  7 2017 00:46:29 version 7.45.41.46 (r666254 CY) FWID 01-f8a78378
[    8.984589] systemd-journald[128]: Received request to flush runtime journal from PID 1
[    9.591599] fbtft: module is from the staging directory, the quality is unknown, you have been warned.
[    9.622184] fb_ili9340: module is from the staging directory, the quality is unknown, you have been warned.
[    9.623287] fbtft_of_value: buswidth = 8
[    9.623298] fbtft_of_value: debug = 0
[    9.623304] fbtft_of_value: rotate = 270
[    9.623309] fbtft_of_value: fps = 40
[   10.231853] graphics fb1: fb_ili9340 frame buffer, 320x240, 150 KiB video memory, 4 KiB DMA buffer memory, fps=50, spi0.0 at 60 MHz
[   11.001770] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   11.001802] brcmfmac: power management disabled
[   11.695264] uart-pl011 20201000.serial: no DMA platform data
[   12.760197] Adding 102396k swap on /var/swap.  Priority:-1 extents:2 across:266236k SSFS
[   13.227953] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   16.162190] Bluetooth: Core ver 2.22
[   16.162349] NET: Registered protocol family 31
[   16.162358] Bluetooth: HCI device and connection manager initialized
[   16.162387] Bluetooth: HCI socket layer initialized
[   16.162413] Bluetooth: L2CAP socket layer initialized
[   16.162468] Bluetooth: SCO socket layer initialized
[   16.175357] Bluetooth: HCI UART driver ver 2.3
[   16.175376] Bluetooth: HCI UART protocol H4 registered
[   16.175383] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   16.175587] Bluetooth: HCI UART protocol Broadcom registered
[   16.474522] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   16.474533] Bluetooth: BNEP filters: protocol multicast
[   16.474558] Bluetooth: BNEP socket layer initialized
[   19.730575] input: retrogame as /devices/virtual/input/input0
[   36.911098] random: crng init done
IMG_0609.jpg
IMG_0609.jpg (473.65 KiB) Viewed 411 times

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: PiGrrl Zero White Screen Conundrum

Post by adafruit_support_mike »

Could you post a photo showing the solder joints from the side please? You can disconnect power from the RasPi so the camera doesn't have to cope with excess light from the screen.

User avatar
Lorinan
 
Posts: 3
Joined: Tue Feb 06, 2018 12:54 am

Re: PiGrrl Zero White Screen Conundrum

Post by Lorinan »

From the back
Back View.jpg
Back View.jpg (362.05 KiB) Viewed 375 times
From the top side
Side view.jpg
Side view.jpg (365.01 KiB) Viewed 375 times

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: PiGrrl Zero White Screen Conundrum

Post by adafruit_support_mike »

Thank you.

The joints on the display side look okay, but there are some spikes (called 'horns') that indicate the solder needed a little more flux. They should work, but you can clean them up with a dab of flux and a quick reheat.

I see some joints on the bottom that look pinched-in at the bottom. That often means the solder isn't making a good connection to the PCB pad. Try giving those a bit of flux and reheating them to get smooth, shiny cones that sweep from the pad up to the pin.

User avatar
Lorinan
 
Posts: 3
Joined: Tue Feb 06, 2018 12:54 am

Re: PiGrrl Zero White Screen Conundrum

Post by Lorinan »

So I went through and reflowed all of the joints just to be safe (I saw what you meant once you pointed it out). I'm still getting the same thing. I'm including new pictures of the redone joints...
Front Reflowed.jpg
Front Reflowed.jpg (83.57 KiB) Viewed 324 times
Back Reflow.jpg
Back Reflow.jpg (93.35 KiB) Viewed 324 times
Side Reflow.jpg
Side Reflow.jpg (84.4 KiB) Viewed 324 times

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: PiGrrl Zero White Screen Conundrum

Post by adafruit_support_mike »

TheSorry for the delay. The joints do look better, and the `dmesg` trace shows that the kernel has the correct TFT driver.

Let's try a new display. Send a note containing a link to this thread and your order number to [email protected]. The folks there will get you another 2.2" TFT.

Getting the one you have now off the RasPi won't be as hard as it seems at first glance. The trick is to get a steel probe like a dental pick or a medium-weight sewing needle.

Pin header conducts heat really well, so when you heat the joint at the TFT end of the pin, it will also melt the solder on the RasPi end and soften the plastic strip that holds all the pins together. Set the tip of the probe on the end of a pin and press down gently, then heat the joint with your iron. When the solder at the far end of the pin melts you'll be able to slide the pin down through the PCB easily. You want to push the pin all the way through the upper PCB, and the steel probe makes that possible. Solder won't stick to steel, so you can send the probe all the way through the hole and get it back without it getting stuck in the solder.

It's pretty easy once you've done a few pins.

After all the pins are pushed through the upper PCB, you'll be able to crack that connection loose with a bit of prying. You'll probably have some solder still connected between the pins and the PCB, but that's weak and will pop loose without too much trouble.

Then you can flip the other PCB over and drive the pins through the same way, or grab them with needle nose pliers and pull them out of the holes. Either way, you can remove them one by one.

Once all the pins are out you can clean the excess solder off the RasPi with solder wick, and clear the holes with a solder sucker. Then wash the flux residue off with a mix of alcohol and acetone (nail polish remover works well) and it will be ready to connect to the new display.

Locked
Forum rules
Talk about Adafruit Raspberry Pi® accessories! Please do not ask for Linux support, this is for Adafruit products only! For Raspberry Pi help please visit: http://www.raspberrypi.org/phpBB3/

Return to “Adafruit Raspberry Pi® accessories”