OSSC blank LCD, no output

Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #62467
    CROS
    Participant

      Last night, I touched the OSSC’s case, near the microsd slot. It sparked, and then the LCD screen went blank. There’s no output over HDMI now. Everything was working fine before this.

      I have OSSC v1.7 hardware.

      The backlight still turns on, the D1 led is faintly on.

      I tested F1 and the fuse seems to have continuity running through it.
      I searched around that area and noticed D4. I don’t exactly know how to test this diode. From the spec, it seems to be https://www.mouser.fi/datasheet/2/916/PESDXV4UF_G_W-2938587.pdf I tried to test it by using the diode tester on my multimeter and testing against Pin 2 (the middle of the three) against the others, in both directions, and it has always read OL. Does this mean that this is likely busted? I’m not super knowledgeable about this.

      #62480
      CROS
      Participant

        Embarrassing, but the one plug on my multimeter was loose. I tested D4 again and now it seems to be showing the correct voltage in a single direction against pin 2 for all other pins. So I’m at a loss as to what it could be. Is there a known suspect for when there’s no output, no LCD output, but all the lights and everything are working? I tested all the voltage converters and they’re all correctly only shorting to ground with the middle prong.

        #62481
        Morpheus_79
        Participant

          Your description indicates damage caused by an electrostatic discharge. For this cases it’s not easy to tell the amount of damage or which components are even damaged.

          Your described behaviour (blank LCD with backlight on and no output) is the standard behaviour for a OSSC with no firmware. So maybe(!) your FPGA(??) or the flash memory was damaged???
          If you want to try a repair yourself i would recommend buying a USB Blaster, connecting your OSSC via USB Blaster to a computer and try to flash a firmware onto your OSSC like it’s described here:

          https://junkerhq.net/xrgb/index.php?title=Updating_OSSC_via_JTAG

          If the Quartus Prime software is able to talk to the OSSC, then there’s at least some hope for a doable repair. But if it fails, there may be some major damages to the main IC…

          #62483
          CROS
          Participant

            Ah, dang. I don’t have a USB JTAG programmer sadly. Sounds like it might just be fully bricked, though. =\

            Have been waiting for the ossc pro to become available again. Might just buy that rather than spending extra money trying to figure out what happened.

            #62485
            Morpheus_79
            Participant

              There are some cheap Chinese $5 USB Blaster clones:

              https://www.aliexpress.us/item/3256805938471895.html

              … which will work perfectly fine with a custom firmware:

              https://github.com/dougg3/CH55x-USB-Blaster/

              … flashed onto it… like it’s described here:

              https://www.downtowndougbrown.com/2024/06/fixing-a-knockoff-altera-usb-blaster-that-never-worked/

              … or $12 ones which will work fine out of the box:

              https://www.aliexpress.us/item/3256805206691804.html

              There’s even a cheap diy solution:

              https://hackaday.com/2024/04/30/the-cheapest-usb-blaster-ever-thanks-to-ch552/

              So i would say: it looks at least like a feasible repair attempt for a reasonable price…

              #62486
              CROS
              Participant

                Alright, you convinced me. Gotta at least try! Got the $12 one, so I guess I’ll try it when it gets here in a week or so.

                #62543
                CROS
                Participant

                  Got the USB Blaster today, so I hooked it up. Seems like your theory about the flash memory being fried might be correct (or at least something along the path to the chip, not sure how the electronics are routed).

                  Here’s the log:
                  Info (209060): Started Programmer operation at Sun Jul 21 10:31:36 2024
                  Info (209016): Configuring device index 1
                  Info (209017): Device 1 contains JTAG ID code 0x020F20DD
                  Info (209007): Configuration succeeded — 1 device(s) configured
                  Info (19845): Start Serial Flash Loader programming
                  Error (209062): Flash Loader IP not loaded on device 1
                  Info (19845): End Serial Flash Loader programming
                  Error (209012): Operation failed
                  Info (209061): Ended Programmer operation at Sun Jul 21 10:31:37 2024

                  Seems like it’s able to communicate with the device to some degree but fails during flashing.

                  #62544
                  CROS
                  Participant

                    Did a little more research and it seems like that error can show in a lot of cases, so I’m actually not sure how helpful it is in figuring anything out. I tried loading up the ossc project in quartus and compiling it, but I get errors about memory not being able to be mapped or something. So I wasn’t able to generate an .sof file to test if having that would help or not.

                    It’s likely some chip being fried. Is there any way to view a debuglog or something from ossc through the jtag connection? It seems like it turns on, and the jtag connection IS able to detect the chip. When I run a diagnostic thing with the jtag connection it says everything is good.

                    #62545
                    CROS
                    Participant

                      And just a little more info. I had done the 1.8 mod to the device. Checked everything and nothing with bridged or bad with that. It was running for a while on the v1 firmware just fine. I reverted the mod, and still no go.

                      #62547
                      Morpheus_79
                      Participant

                        You could try to replace the flash memory and do the programming of the firmware via USB Blaster after that. A suitable  replacement:

                        https://www.mouser.fi/ProductDetail/870-IS25LP016DJBLETR

                        You don’t have to use Mouser! LCSC, DigiKey or Farnell/Element 14 may have cheaper shipment rates.

                        There’s a fair to good chance the replacement will fix the problem. But sadly there’s no guarantee no other IC got damaged.

                        #62549
                        CROS
                        Participant

                          Wow, that’s surprisingly cheap. I may just do an order and put some of the other cheap ICs used within so I can test. I guess we’ll see again in a week if this fixes it. =]

                          #62620
                          CROS
                          Participant

                            So, the new flash memory IC didn’t work. Still the same issue. I had a feeling that either the FPGA was shot, or it was a communication issue over the USB port. I switched over to Windows (I used Linux as my primary OS, which is where I did the initial testing).

                            Windows actually worked to flash the FPGA. I now have a working OSSC again! So, I think your original theory was correct. Somehow the firmware got messed up. It was behaving how it would without a correctly flashed firmware. I don’t think it was the new memory in the end.

                            Thanks for all the help!

                            #62621
                            Morpheus_79
                            Participant

                              I didn’t know, you’ve used Quartus Prime under Linux. Or else i had recommended earlier to try flashing the firmware under Windows. Sorry.

                              But: you are right. It’s a problem related to all 3rd party USB-Blasters. They all have some kind of timing issue. Most of the very cheap ones for around 5 bucks (if they work at all) work better under Linux and badly under Windows. Afaik yours is similar to the WaveShare USB-Blaster:

                              https://www.waveshare.com/usb-blaster-v2.htm

                              … a higher prized model which has some issues under Linux… as described here:

                              https://www.downtowndougbrown.com/2024/06/fixing-a-knockoff-altera-usb-blaster-that-never-worked/

                              I couldn’t get the freaking thing to ever program an FPGA correctly at all in Linux, at least with Quartus Programmer or the related command line tools. It would fail during random parts of the programming process. Erases actually did work sometimes, but the longer the operation it was being asked to perform, the more likely it would fail. It was scary because I was starting to think I had made a mistake when building my first Time Sleuth, but then I fired up my Windows 10 VM and it programmed perfectly on the first try. I’ve confirmed that it always works fine in Windows.

                              The WaveShare USB-Blaster worked under Linux after replacing its crystal:

                              Running at 20.83 MHz, it still seemed erratic. So I bumped the clock speed down even more to (125/7) = 17.86 MHz. At this rate, it mostly worked! I did see it fail a few times though, so I figured I was getting closer to reliability. The next lowest possible frequency of (125/8) = 15.625 MHz seemed to be the sweet spot. It worked perfectly every time with that slower clock speed. Success!

                               

                              So this would probably work for you too aside from using your USB-Blaster under Windows 😉 .

                              I’ve recently built one CH552G-based USB-Blaster myself:

                              … which has its own problems. It crashes Windows into a BSoD when using it with newer drivers. But it works perfectly fine when using the old driver version 2.04.16, released in April 2009. Even though it’s an old version -> it’s a signed driver which works perfectly well under Windows 11 – even with the latest version of Quartus Prime. So i had no problems flashing one of the latest OSSC firmwares with it:

                              All in all:
                              Luckily nothing was fried on your OSSC and i’m glad to see you’ve managed to fix it 😀 .

                              #62629
                              CROS
                              Participant

                                haha, wow! That’s a lot of quirks with the USB Blasters. I never knew. I should have mentioned that I used Linux in my first post. I didn’t think it was an issue since it was recognized by my system, and I got the udev rules installed, and it definitely communicated at least to some degree. However, timings are always a tricky thing. I really should have tried switching to Windows right away to check.

                                Thanks for all the info! Looks fun to make your own USB Blaster (and Windows BSOD Blaster). Was it this project? https://hackaday.io/project/194894-usbblaster-based-on-ch552g Might have a go for fun.

                                Cheers!

                                #62630
                                Morpheus_79
                                Participant

                                  Was it this project? https://hackaday.io/project/194894-usbblaster-based-on-ch552g

                                  Yes… exactly this one. It is a fun project… but because of its closed source firmware its timing issues can’t be fixed. At least Doug Brown fixed them for other commonly available CH552G-based USB-Blasters – like this one:

                                  https://www.aliexpress.us/item/3256805938471895.html

                                  … with his own firmware version:

                                  https://github.com/dougg3/CH55x-USB-Blaster/

                                  It probably won’t work with the Hackaday USB-Blaster project, since it most likely uses different I/O pins for the communication… but at least the Hackaday version has the oportunity to populate the PCB with level shifters to support some more FPGAs with even different voltages. An advantage the Aliexpress version doesn’t have.

                                  So the best “cheap” version without any issues seems to be the terasic USB-Blaster for around $69 (after the official one for $300). Any other/cheaper version seems to have some problems in one way or another.

                                  • This reply was modified 3 months, 3 weeks ago by Morpheus_79.
                                Viewing 15 posts - 1 through 15 (of 17 total)
                                • You must be logged in to reply to this topic.