I have two PCs. PC (let’s say PCA) and PC (let’s say PCB):
- PCA – Only one OS installed -> win10
- PCB – Two OS’s installed -> win10 and Free DOS. During the PC boot the OS selection menu appear. The main board of that PC support the Intel AMT technology.
Both PC’s are connected between by:
- Ethernet interface -> interface used for power management. I’m using the AMT to power up/power down the PCB main board by PCA
- Hardware RS232 interface -> interface used for communication between Application on PCA and application on PCB under the DOS OS
What I need to do? Below steps I need to follow in that specific order:
- Power up PCA manually by operator and run test application,
- Power up PCB (controlled by PCA),
- Select the PCB OS from OS selection menu (multi boot) -> FreeDOS,
- perform some communication between PCA and PCB by RS232,
- Power down PCB (controlled by PCA),
- Power up PCB (controlled by PCA),
- Select the PCB OS from OS selection menu (multi boot) -> Win10,
Solution I was thinking about:
Add next connection between PCA and PCB by USB. In this case PCA should emulate USB Keyboard as HID for PCB and I would like to send specific keystroke (1 or 2) to PCB to choose specific OS from boot OS selection menu. I can’t find solution/examples how to implement the HID keyboard emulation on PCA.
I have found some old tips described in here with WIN32 USB API https://social.msdn.microsoft.com/Forums/en-US/1b301a05-321b-4991-a73e-ee8be04b7249/c-with-usb?forum=netfxnetcom
but the details are not available anymore - it was deleted from server.
Other tips I have found are rather related to solution with Raspberry PI as keyboard emulation, or keyboard emulation but for the same PC locally.
Maybe other idea to solve that issue? Control the OS selection menu by Ethernet?
If you can share any examples, tips how to implement I will be very grateful.
HINT: for some reason there is not possible to use additional hardware parts like Arduino or Raspberry PI e.g. as the keyboard emulation. In general I can’t add any hardware – only to add extra connection between PCA and PCB and software modyfication is possible.
Update
To give you the better picture. To PCB I insert the special PCI card and I need to write some specific data to card eeprom. The reason to use the freeDOS is that I have receive from my customer the exe working only under the real DOS OS -> I do not have the source codes for that application and there is not chance to get it.
I even do not know how exactly the exe work because the customer does not have any documentation. In this case I have developed the application under the DOS and my application call customer exe with specified arguments and communicate with second PC to return the results by the RS232. For sure the exec does not work correctly under the windows command line.
Now I got the request from customer that after eeprom writing I need to perform some test and I have receive second exe but under the windows -> again the same story that I do not have any source codes, documentation and so on, simply I just need to use that executable. This is the main reason that I need to switch between 2 OS in one cycle.