Lenovo Miix 320 Kernel Debug

I give up!

I have battled for several days to get live kernel debugging working on this tablet thing. I first tried a usb debug session, this didnt work. I then bought a usb->ethernet adaptor and enabled network debugging. This also, does not work.

It later occurred to me that all the USB ports are being disabled when enabling any kind of debug bcdedit /debug on basically kills all the ports.

Has anyone investigated kernel debug on one of these devices? Is anyone from Lenovo able to comment on solutions?

Ben

Ben_Lewis wrote:

I give up!

I have battled for several days to get live kernel debugging working on this tablet thing. I first tried a usb debug session, this didnt work. I then bought a usb->ethernet adaptor and enabled network debugging. This also, does not work.

I’m not surprised.  The kernel debugger needs hardwired serial ports, or
hardwired 1394, or hardwired wired Ethernet.  You have none of those.

The USB-C port is a good possibility.  Have you gone through the
instructions here to see if you have debug-capable ports?
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/setting-up-a-usb-3-0-debug-cable-connection

anyone investigated kernel debug on one of these devices

I can tell you unless you can get USB debugging to work (see Mr. Roberts’ post, above) debugging tablets, in general, without the direct involvement and assistance of the OEM can be an exercise in frustration. Lots of magic juju required…

I realize that’s not helpful. But at least you know you’re not alone in your annoyance.

Peter

The usb-c port is debug enabled but simply enabling any form of debug disables all the ports. Very annoying.

Unfortunately a crash dump is not written because the bsod is occurring in the crash dump handler path.

Interestingly I, today, managed to repo the sd bus error bsod just using windows install. So doesn’t seem dependent on my driver being in the stack.

Very frustrating for me and my customer who has hundreds of these blasted things

Ben

simply enabling any form of debug disables all the ports

With all due respect, that seems… very unusual. I have never seen a tablet behave that way.

You have the necessary A-to-A debug cable, with no V+ line, right? Your dev machine is USB V3? No hub between the two?

(sorry, again… but I don’t know how many times you’ve done this sort of thing, and if I don’t ask, I won’t know what to rule-out)

Peter

Yes. Correct usb cable. USB 3 dev machine and no hub.

Usb cable fine as used it lots before.

Literally enabling kernel debug makes the controllers report an error in device manager. Now it might be this particular device as the customer only shipped me one, but we have a mix 310 that behaves in the same way.

Madness

(empty message)

Literally enabling kernel debug makes the controllers report an error in device manager

Hmmmm… I haven’t done this in USB 3.0 personally, but what you’re seeing MAY be expected… because the kernel is taking over the port (or perhaps the entire controller) for use in the debug connection. This is exactly how it looks in 1394 debugging – The 1394 controller is “yellow banged” out in Device Manager (because the kernel debug engine is using it).

Usb cable fine as used it lots before

So… in doing USB 3.0 debugging before, did you not see the controller yellow-banged out? I admit, I’m making a guess based on the behavior I’m used to seeing in 1394…

Peter

P.S. Mr. Roberts: (empty message)… sorry! I DID report the bug with handling S/MIME posts.

The window to edit has closed, so I’ll resend.

Ben_Lewis wrote:

Yes. Correct usb cable. USB 3 dev machine and no hub.

Usb cable fine as used it lots before.

Literally enabling kernel debug makes the controllers report an error in device manager.

That’s not necessarily a problem.  The kernel debugger uses a “side
door” unto the USB controller that bypasses the regular driver stack. 
Of course, I expect you’d have noticed if the communication was actually
working.

I have noticed it with FireWire but tbh I haven’t ever looked while using usb debug as it has always connected and started spewing debug before.

I find it strange that enabling any kind of debug disables the controller whether usb or not.

Think I am going to have to reach out to Lenovo on this one. Like I say I can repo with none of our drivers installed so using the “it is the last installed Software’s problem” that is the unwritten law with filter development I may bat it to Microsoft/Lenovo.

Ben

My OSR notifications got messed up so I missed this. Ben can you email me directly? My email is my username here @microsoft.com. I have a possible work-around we’re working on documenting but I’d like to see if it works for your case first.

Can you also clarify two things: What’s the exact OS version? Which USB port are you trying to use? It looks like the Miix 320 is a detachable, I wouldn’t expect using any of the ports on the base to work.

Thanks for getting back. I will contact you off list with more details.

My OSR notifications got messed up so I missed this

Sorry, Mr. aluhrs… it’s all my fault. I did it :wink:

I will contact you off list with more details

Just in case you’re not familiar aluhrs has a long history of helping the community with all things debugging. Truly good guy.

And if you wind-up a resolution, would you please be so kind as to post-back here… so we all know?

Thanks,

Peter

Have fired off an email and as long as I have permission to share whatever he suggests I will certainly share back on this thread.

Ben