Announcement

Collapse
No announcement yet.

Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

    Hi!

    My Thinkpad X1gen6 (NM-B48) have had issues with thunderbolt for over a year now. No TB3 or HDMI working and the screen randomly flickering sometimes but going away other times. As if there was a glitch in the connection.

    When it was starting to fail I switched between assist mode and the non assist mode a lot because I didn't understand what was going on and some times it helped. (but really it probably made it worse by writing more to the flash) At one point when it had failed a switch like that hung the laptop with a black screen and I had to hard reset. That is now fixed and I can switch without it hanging. Not sure if the switch actually works though. Also In the windows thunderbolt tray icon I'm unable to see the version as it was not detecting the hardware.

    Now I'm trying to fix it. I've started with dumping original TB3 firmware on the W25Q80DVSNIG. I was able to dump it multiple times with the same resulting SHA1. So it was reading back something fine.

    I then zeroed the SPI-flash. When I booted with all zeroes I got the issue with bad charger wattage (never had that issue before). Then extracted the latest TBT.bin from lenovo.com FW update. Padded it like
    Code:
     dd if=/dev/zero of=TBT_padded.bin bs=1 count=1 seek=1048575
    and then flashed it. Then the charger issue went away. So the firmware I'm flashing is doing something.

    I'm also able to dump the firmware and the SHA1 is correct compared to the original file.

    Still I'm unable to use the Thunderbolt hardware and it is not being detected when booted to windows or linux. The windows firmware update tool is not working and can't detect the TB3 hardware either. When I connect to a Lenovo Thunderbolt dock the external screen turns the backlight on but no image and then shuts off because there is no signal.

    I'm wondering if I might be doing something wrong. Or if this might be some other issue
    I do have W25Q80DVSNIG on hand and I have a hot air station. I just want to try everything before going forward with that. (also I'm kind of a little scared of starting to change components but it looks like a fairly easy swap)

    In this https://www.badcaps.net/forum/showthread.php?p=941634 I found that there are two firmwares as well. TBT.bin and AssistTBT.bin. Tried to concatinate them and flash but no difference.

    Am I missing something when flashing? Anything else I could try?
    I appreciate any help I can get.
    Attached Files
    Last edited by dal00; 09-07-2022, 08:39 AM.

    #2
    Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

    There could be a retimer chip problem,if there is one, i havnt looked closely at the schematic
    All donations to badcaps are welcome, click on this link to donate. Thanks to all supporters

    Comment


      #3
      Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

      From googling what that is I don't think there is one.

      The the thunderbolt controller is JHL6540.

      Comment


        #4
        Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

        I ended up swapping out the flash chip and it did not help more than the first reflash I did.

        Still no thunderbot but charging works and usb works on the usb-c port.
        The thunderbolt ports are still not visible in the OS either in bios assist och native mode.
        When switching between the bios assist and native modes the bios says it would take 15sec but it doesn't really and is quite instant.

        Comment


          #5
          Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

          Although my computer is different, and it is an all in-0ne HP. I end up have flickering on the screen from time to time at start up and sometimes after starting up. With mine it is a software problem. What I believe what happens is that the screen drivers are upgraded by either windows or the manufacturer HP and then once they detect the drivers are failing, they then revert back.
          With that said the Thunderbolt was developed by Intel. I would asked their support about the types of problems you are facing. As I believe the software and hardware need to be compatible. If the developer, Intel, cannot tell you what is going on it would be very difficult to troubleshoot the problem yourself. Along with the software routine you will also need to be capturing the hardware sequence to be able to tell if any problem exists between the two.
          Last edited by keeney123; 09-08-2022, 01:38 PM.

          Comment


            #6
            Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

            I don't think this is a software issue because I'm getting it in both windows and Linux.
            And if I disable thunderbolt in the bios it goes away. (this flicker is on the built in screen)

            But the real problem is that the thunderbolt interface is not detected at all in windows or linux.
            That is not a driver issue because it should show up without any drivers even as a pci interface

            Comment


              #7
              Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

              I can give you another dump to write, but not sure if it was a working one or not. Still, i have seen working TBT dumps which are different from the extracted dumps. Try it just in case.
              Attached Files

              Comment


                #8
                Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                Originally posted by dal00 View Post
                I don't think this is a software issue because I'm getting it in both windows and Linux.
                And if I disable thunderbolt in the bios it goes away. (this flicker is on the built in screen)

                But the real problem is that the thunderbolt interface is not detected at all in windows or linux.
                That is not a driver issue because it should show up without any drivers even as a pci interface
                That is a PCIe interface? I would think that the system has drivers that load when the Bios starts up. This is how all the different parts of the system are able to talk to themselves. There should be display drivers. The windows OS or the Linux OS are just that, an OS. The driver software actual is used for what device you may be loading even on the PCIe or listed in Windows in Device Manager it would be listed under System. The manufacturer of the computer may or may not choose to have the different manufacturers to write customized drivers for the system or they can use standardized software driver for the system. This system and their drivers can be the same for Linus OS or Windows OS as it is a built-in driver connecting the software or the system to the hardware of the system by the manufacturer. In my day they called it the monitor program. This is what is needed to get a system up and running. The OS then would need to know how to interpret it to receive and send information to the system software. The system software or the system in Windows Device Manager is from the manufacturer of the computer. One may have, say, a chip set software/driver that comes from Intel so that the chip set will work with other systems listed in system on the Window Device Manager that the manufacturer uses to run the system.

                Windows, Intel and the computer manufacturer as an example would try to change different things in the system to suit their needs. Problem was no one was talking to each other about this. Then system problems arose. Now, I think they are halfway communicating. I do not know how many problems I have had with this. The manufacturer discontinues support after the warranty runs out. Windows and the chip manufacturers keep updating their products. The drivers from the manufacturer no longer fit into the modern world. Speeds may slow, screens may flicker, and graphics fail. Now, perhaps, the manufacturers of computers, the Windows OS and chip makers are getting one the same page. This is a long-winded way of saying yes, your problem could still be software and as I have said before one would need to capture the hardware events at the same time, they are running the software to be able to tell what is happening. I will not go on with an example.
                I am not real familiar with all the different versions of Linux OS. However, like any OS it loads after the manufacturer gets all the drivers.

                I would first look in device manager under display adapters and see if your screens driver software is located there. I would check the device manager under system for the Chip Set. If you have a PCIe check also the listing of the PCIe in System devices and see what the driver is. Then I would go out to the manufacturer's web site for your computer and compare what you have with what they have listed. If it is the same and the computer is no longer supported, then I would try and see if Microsoft has your manufacturers software upgrades and load them from Microsoft. If not go to the chip manufacturers web site and see if they have the upgrades for the Chip where it says it supports, your windows OS you are running. After all is running correctly for 2 weeks then you can try running Linux OS on it. After running the Linux OS go back to Window OS and see if anything changes.
                Last edited by keeney123; 09-09-2022, 12:10 AM.

                Comment


                  #9
                  Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                  Might help to try this flash/reboot method https://www.badcaps.net/forum/showpo...70&postcount=3
                  .
                  Last edited by SMDFlea; 09-09-2022, 03:15 AM.
                  All donations to badcaps are welcome, click on this link to donate. Thanks to all supporters

                  Comment


                    #10
                    Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                    Thank you for trying to help but I should be able to see a PCIe interface on the bus even if I don't have any drivers for it. That is why I mentioned I could not se it in lspci (you can compare that to the device manager on windows where it is also not present)

                    This was working fine when the laptop was new. The hardware needs to be present and detected on the PCI bus in the system for drivers to have any effect.

                    Originally posted by keeney123 View Post
                    That is a PCIe interface? I would think that the system has drivers that load when the Bios starts up. This is how all the different parts of the system are able to talk to themselves. There should be display drivers. The windows OS or the Linux OS are just that, an OS. The driver software actual is used for what device you may be loading even on the PCIe or listed in Windows in Device Manager it would be listed under System. The manufacturer of the computer may or may not choose to have the different manufacturers to write customized drivers for the system or they can use standardized software driver for the system. This system and their drivers can be the same for Linus OS or Windows OS as it is a built-in driver connecting the software or the system to the hardware of the system by the manufacturer. In my day they called it the monitor program. This is what is needed to get a system up and running. The OS then would need to know how to interpret it to receive and send information to the system software. The system software or the system in Windows Device Manager is from the manufacturer of the computer. One may have, say, a chip set software/driver that comes from Intel so that the chip set will work with other systems listed in system on the Window Device Manager that the manufacturer uses to run the system.

                    Windows, Intel and the computer manufacturer as an example would try to change different things in the system to suit their needs. Problem was no one was talking to each other about this. Then system problems arose. Now, I think they are halfway communicating. I do not know how many problems I have had with this. The manufacturer discontinues support after the warranty runs out. Windows and the chip manufacturers keep updating their products. The drivers from the manufacturer no longer fit into the modern world. Speeds may slow, screens may flicker, and graphics fail. Now, perhaps, the manufacturers of computers, the Windows OS and chip makers are getting one the same page. This is a long-winded way of saying yes, your problem could still be software and as I have said before one would need to capture the hardware events at the same time, they are running the software to be able to tell what is happening. I will not go on with an example.
                    I am not real familiar with all the different versions of Linux OS. However, like any OS it loads after the manufacturer gets all the drivers.

                    I would first look in device manager under display adapters and see if your screens driver software is located there. I would check the device manager under system for the Chip Set. If you have a PCIe check also the listing of the PCIe in System devices and see what the driver is. Then I would go out to the manufacturer's web site for your computer and compare what you have with what they have listed. If it is the same and the computer is no longer supported, then I would try and see if Microsoft has your manufacturers software upgrades and load them from Microsoft. If not go to the chip manufacturers web site and see if they have the upgrades for the Chip where it says it supports, your windows OS you are running. After all is running correctly for 2 weeks then you can try running Linux OS on it. After running the Linux OS go back to Window OS and see if anything changes.

                    Comment


                      #11
                      Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                      Originally posted by khaahk View Post
                      I can give you another dump to write, but not sure if it was a working one or not. Still, i have seen working TBT dumps which are different from the extracted dumps. Try it just in case.
                      I tried to flash this dump and unfortunately it did not make any difference.

                      Originally posted by SMDFlea View Post
                      Might help to try this flash/reboot method https://www.badcaps.net/forum/showpo...70&postcount=3
                      .
                      I also tried to remove the battery and push the internal reset button with the dump above but I did not boot it with a zeroed out flash first. Maybe I'll try this with the latest TBT.bin.

                      My shitty sop8-clip is wearing out hehe
                      But with a new chip in place I can rule that out.

                      I also noticed that I'm able to see the TBT firmware version in the UEFI "system diagnostic" thing that you can select when you boot. But even there I think the thunderbolt interface is not detected. But all checks pass and no errors reported. I think it just is a limitation of that diagnostic that it succeeds..

                      Comment


                        #12
                        Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                        Here is a good basic definition of what the PCIe bus is hardware wise I will look now look for what it is soft wise.

                        http://www.interfacebus.com/PCI-Expr...scription.html

                        Here is some of the software that needs to be consider with the PCIe bus.

                        https://docs.microsoft.com/en-us/win...q-for-graphics

                        look under PCIe Graphics & AGP

                        Under that heading look at the last sentence

                        Then continue reading on Frequently asked questions.

                        a little more complete hardware explaination of PCIe bus.
                        https://resources.altium.com/p/pcie-...ing-guidelines

                        One last thing is the enumeration of the PCIe bus. This video will go into depth of this process. Please be patient with the guys English and watch what he is showing you. This is the basic programing from the power on to setting up. I watched about 13 minutes of it however he has continued useful information. I just do not like programing that much to follow the rest. You will notice everything is being programmed. Perhaps my use of the word driver is misleading but, this is what I see as setting up hardware to make the computer run.

                        https://www.bing.com/videos/search?q...9B56&FORM=VIRE
                        Last edited by keeney123; 09-09-2022, 09:42 AM.

                        Comment


                          #13
                          Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                          "Thank you for trying to help but I should be able to see a PCIe interface on the bus even if I don't have any drivers for it."
                          Depends on if the manufacturer looks out for the device and see nothing and they shuts down the data stream bits as being unused.

                          Comment


                            #14
                            Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                            Hi All


                            I have the same problem, I tried all the solutions offered on the internet and also here, it didn't work

                            me current situation I have fast charging works normally and also the ethernet port.

                            But hdmi or type c it does not work

                            The problem I have is that it does not recognize the Thunderbolt controller (unknown) So..

                            According to your experience, is (jhl6540) can be swap and is that help? or (25q80dvnig) ?

                            or is there something else that may be the reason?


                            also wondering out of the box as you know in x1c6 there is a slot for LTE card so I think its (PCI express x1 OR x4) not sure,
                            so it is poseable to use this slot to connect external interface something like (HDMI or Thunderbolt or USB-C ) like eGPU pci ?

                            Best Regards

                            Comment


                              #15
                              Re: Lenovo ThinkPad X1 Carbon Gen6 (NM-B48) Thunderbolt issue

                              Hello, guys,

                              Looks like quite a few people are working on this issue. There's also a discussion going on at https://github.com/fwupd/firmware-lenovo/issues/264, but we are also having the troubles on the flashing part (none of the binaries work, for some reason). I'll try some of the methods in this post to see if anything interesting happens. Feel free to read through the discussion over there too if you are still trying to fix the laptop.

                              Comment

                              Working...
                              X