Host: Windows 7 x64
Guest: Windows XP SP3 x86
I got 2 PCI firewire cards on both ends (SIIG 1394 installed as Texas Instruments OHCI Compliant IEEE 1394 Host Controller).
On Windows XP I added the following to boot.ini:
/debug /debugport=1394 /channel=10
I rebooted Windows XP and OHCI driver got yellow banged (which is expected).
On Windows 7 (host) I run WinDBG(x86), open kernel debug, 1394, specify channel 10 and run
It says:
Using 1394 for debugging
Checking 1394 debug driver version.
Opened \.\DBG1394_INSTANCE10
Timer Resolution set to 1000 usec.
Waiting to reconnect...
Nothing happens. (1394 Windows Kernel mode driver is installed).
On each firewire card I got 3 ports, but I am not sure whether it matter which one needs to be used.
Please advise what might be wrong in the configuration above.
How can test 1394 connection independently ?
I had no multiple OHCI controllers on either end.
Finally, by simply exchanging components one by one, I have identified that the issue was caused by malfunctioning Firewire cable. It was not visually damaged, but it looked like it was accidentally used for something else except Firewire ports.
Unfortunately, it took time to identify the root cause since Microsoft doesn't provide any utility to ensure physical connection between both machines.
Related
Doing windows driver development for first time, I want to deploy my first driver.
But I don't have a second computer.
Microsoft docs:
Typically when you test and debug a driver, the debugger and driver run on separate computers. The computer that runs the debugger is called the host computer, and the computer that runs the driver is called the target computer. The target computer is also called the test computer.
I am starting with vhidmini2 as my project base (the UMDF2 version).
I want to know if the Windows Sandbox feature can be used in place of test computer?
My driver will not be interacting with any hardware.
You can set up Windows Sandbox for kernel debugging with CmDiag (undocumented, but mentioned by Jonas L):
First you need to enable development mode (everything needs to be run from an Administrator command prompt):
CmDiag DevelopmentMode -On
Then enable network debugging (you can see additional options with CmDiag Debug):
CmDiag Debug -On -Net
This should give you the connection string:
Debugging successfully enabled.
Connection string: -k net:port=50100,key=cl.ea.rt.ext,target=<ContainerHostIp> -v
Now start WinDbg and connect to 127.0.0.1:
windbg.exe -k net:port=50100,key=cl.ea.rt.ext,target=127.0.0.1 -v
Then you start Windows Sandbox and it should connect:
Microsoft (R) Windows Debugger Version 10.0.22621.1 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Using NET for debugging
Opened WinSock 2.0
Using IPv4 only.
Waiting to reconnect...
Connected to target 127.0.0.1 on port 50100 on local IP <xxx.xxx.xxx.xxx>.
You can get the target MAC address by running .kdtargetmac command.
Connected to Windows 10 19041 x64 target at (Sun Aug 7 10:32:11.311 2022 (UTC + 2:00)), ptr64 TRUE
Kernel Debugger connection established.
(When I set this up initially I was getting some error when starting Windows Sandbox and I had to reboot, but this might not be necessary)
A few times I got error 0x80070020, this seems to be because the port isn't available (perhaps reserved by Hyper-V?). Switching to port 12345 fixed it for me.
The Windows Sandbox is basically a virtual machine, so you can load drivers into it as long as they do not need to interact with hardware.
But there is also one extra limitation: there does not seem to exist a way to disable the drivers signature check in the Windows Sandbox, as this requires a restart which is not possible for the sandbox. Thus, your driver has be signed to be loaded and tested.
EDIT: the Sandbox supports rebooting since Windows 11 Build 2250, so it should be possible to disable the drivers signature and install custom drivers now (cannot test though, still on W10).
An application, consists basically on a communication between a microcontroller and a pc, is running perfectely on Windows 7 64 bits. Since i have windows 10 installed, the application doesn t work anymore. Even the serial communication isn t established. ( an error shown that the application can not establish the communication)
I have verified the microcontroller with other Terminal running on Windows and no Problem within. Also i think that the Problem could be on the Code, the application was created with visual Studio, well i don t have any experience with visual Studio,so that i would ask you if there is a way to check that this application for instance will not work on Windows 10!
Thank you in advance
You indicate that the application will run, therefore it is unlikely that the application is incompatible with Windows 10. You're getting an error saying that the application is unable to communicate with the serial port, so the application is opening. Most applications which flat out won't work with Win 10 use older, unsupported versions of .Net or expect a FAT filesystem and simply won't run.
This suggests that Windows 10 did not have a native driver for your serial port. This is not too shocking; the older pin serial ports currently see exclusive use and are replaced (for most users) by USB-connecting components. I would check the computer's Device Manager. If you don't see any serial ports there, or see them but with an error, Win 10 probably did not have the driver required. From there I would contact the motherboard or serial bus card manufacturer for updated drivers, if they exist.
I am working on this example on writing a simple Windows driver and debugging it from VS:
https://msdn.microsoft.com/en-us/library/windows/hardware/hh439665(v=vs.85).aspx
My Setup
Host: Windows 7 Physical system
Target: Windows 7 Physical system
Connection type: Serial cable (USB to serial in host, serial in
target)
Provisioning the target system is successful. Serial connection parameters are correct (tested the serial connection with different software). Driver is built and installed successfully in the target but "Break all" command does nothing. I am able to attach to a different process in the target.
I have seen similar questions and the usual response is to check for a mismatch between the connection parameters in the host and the target. I have checked this and the parameters are correct.
I would appreciate any advice.
Thanks!
My setup is: Windows 7 host system, VirtualBox/Windows 8 32-bit target system (debugee), host-only network to connect the two. Starting with Windows 8 it's declared possible to setup kernel debugging over network --- seems to be a nice option in this case. So I verified that the NIC is supported (http://msdn.microsoft.com/en-us/library/windows/hardware/hh830880 --- Intel 822540 DevID 100E is included on the list) and followed instructions in http://msdn.microsoft.com/en-us/library/windows/hardware/hh439346(v=vs.85).aspx. Not successfull, windbg says: debuggee not connected, can't break the target system. (There is some communication since windbg detects target system restart.)
So the question is: has anyone tried this? Succeeded? Anything important that I miss? Should I resort to configure a serial connection or perhaps install VirtualKD?
Unfortunately, I have to deal with J2ME (which I consider ancient technology these days) on Sony Ericsson J108i (aka Cedar).
Unfortunately I've failed to configure on-device debugging. I've done the following:
enabled Java developer mode in service settings
configured USB -> Advanced -> Internet access -> Via computer
installed J2ME SDK 2.5.0.6
disabled the Windows firewall
tried the whole procedure on both Windows XP and Windows 7
Unfortunately, Connection Proxy fails to connect to the device. The network interface is there, named 'Sony Ericsson Device 1039 USB Ethernet Emulation (NDIS 5)', but when I try to connect, the following is logged:
[18.03.12 13:23:45] Getting device ip. Failed to get deviceip for interface(Sony Ericsson Device 1039 USB Ethernet Emulation (NDIS 5) - Sterownik miniport Harmonogramu pakietów). Trying to get it from Connection Proxy settings(sdkme.properties). java.lang.RuntimeException: Unable to connect to the SEMC SDK Service1.
[18.03.12 13:23:45] Getting device ip. No device for interface=Sony Ericsson Device 1039 USB Ethernet Emulation (NDIS 5) - Sterownik miniport Harmonogramu pakietów
It actually looks like the interface is never assigned the correct IP. I've tried assigning IP manually, but it failed too (perhaps I did it incorrectly - the documentation is not really verbose here).
Any idea what I do wrong? Any success stories with on-device debugging using this particular phone?
I managed to get my Cedar device working on Vista 32-bit SP2:
1. First of all, make sure you're not using jdk7uX (otherwise you have to install MSVC 10 redistributable pack to make SEMC_SDK_Service start properly).
2. Edit SDK_Root/OnDeviceDebug/lib/sdkme.properties, set ipprovider.rebindOnConnect: true
(it's false by default), then uncomment and set proxy.device.ip: 192.168.8.2 and proxy.local.ip: 192.168.8.1 (both are commented out and empty by default)
3. Run SDK_Root/OnDeviceDebug/bin/restart_service.cmd
4. (Re)connect your Cedar device
5. Wait about a minute
6. Run SDK_Root/OnDeviceDebug/bin/restart_service.cmd
7. Run arp -a in console and ensure your interface is using 192.168.8.*, this could also take about a minute
8. Restart connection proxy and connect to your phone, everything should be OK
9. You should repeat steps 4-8 after each Windows start