因為想要 Ovmf 可以透過 serial 跟 QEMU 外面溝通,找了好久才找到可以用的 com0com signed driver.
找到免費的 com0com 似乎可以用,但作者似乎沒辦法重新 resign Windows 10 可以用的 driver 導致必須要開啟 TESTSIGNING 或是關閉 SecureBoot 才能使用的窘境 ….
好在還是找到好心人提供的可以運作的 driver …
下載
安裝
- 只有 driver 的設定介面 setupc.exe,不用安裝
設定
- Run setupc.exe
節錄 setupc.exe 的幫助訊息如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
Enter 'help' to get info about usage of Setup for com0com.
command> list
CNCA0 PortName=COM1
CNCB0 PortName=COM2
command> help
Setup for com0com
Usage:
[options] <command>
Options:
--output <file> - file for output, default is console
--wait <to> - wait <to> seconds for install completion
(by default <to> is 0 - no wait)
--detail-prms - show detailed parameters
--silent - suppress dialogs if possible
--no-update - do not update driver while install command
execution (update command expected later)
Commands:
install <n> <prmsA> <prmsB> - install a pair of linked ports with
or identifiers CNCA<n> and CNCB<n>
install <prmsA> <prmsB> (by default <n> is the first not used number),
set their parameters to <prmsA> and <prmsB>
remove <n> - remove a pair of linked ports with
identifiers CNCA<n> and CNCB<n>
disable all - disable all ports in current hardware profile
enable all - enable all ports in current hardware profile
change <portid> <prms> - set parameters <prms> for port with
identifier <portid>
list - for each port show its identifier and
parameters
preinstall - preinstall driver
update - update driver
reload - reload driver
uninstall - uninstall all ports and the driver
busynames <pattern> - show names that already in use and match the
<pattern> (wildcards: '*' and '?')
quit - quit
help - print this help
Syntax of port parameters string:
- - use driver's defaults for all parameters
* - use current settings for all parameters
<par>=<val>[,...] - set value <val> for each parameter <par>
Parameters:
PortName=<name> - set port name to <name>
(port identifier by default)
EmuBR={yes|no} - enable/disable baud rate emulation in the direction
to the paired port (disabled by default)
EmuOverrun={yes|no} - enable/disable buffer overrun (disabled by default)
EmuNoise=<n> - probability in range 0-0.99999999 of error per
character frame in the direction to the paired port
(0 by default)
AddRTTO=<n> - add <n> milliseconds to the total time-out period
for read operations (0 by default)
AddRITO=<n> - add <n> milliseconds to the maximum time allowed to
elapse between the arrival of two characters for
read operations (0 by default)
PlugInMode={yes|no} - enable/disable plug-in mode, the plug-in mode port
is hidden and can't be open if the paired port is
not open (disabled by default)
ExclusiveMode={yes|no} - enable/disable exclusive mode, the exclusive mode
port is hidden if it is open (disabled by default)
HiddenMode={yes|no} - enable/disable hidden mode, the hidden mode port is
hidden as it is possible for port enumerators
(disabled by default)
cts=[!]<p> - wire CTS pin to <p> (rrts by default)
dsr=[!]<p> - wire DSR pin to <p> (rdtr by default)
dcd=[!]<p> - wire DCD pin to <p> (rdtr by default)
ri=[!]<p> - wire RI pin to <p> (!on by default)
The possible values of <p> above can be rrts, lrts, rdtr, ldtr, rout1, lout1,
rout2, lout2 (remote/local RTS/DTR/OUT1/OUT2), ropen, lopen (logical ON if
remote/local port is open) or on (logical ON). The exclamation sign (!) can be
used to invert the value.
Special values:
- - use driver's default value
* - use current setting
Examples:
install - -
install 5 * *
remove 0
install PortName=COM2 PortName=COM4
install PortName=COM5,EmuBR=yes,EmuOverrun=yes -
change CNCA0 EmuBR=yes,EmuOverrun=yes
list
uninstall
busynames COM?*
|
1
|
Install PortName=COM1 PortName=COM2
|
Reference