From: "Rebecca Cran" <quic_rcran@quicinc.com>
To: <devel@edk2.groups.io>, <richardho@ami.com>
Cc: "Andrew Fish" <afish@apple.com>,
"Leif Lindholm" <quic_llindhol@quicinc.com>,
"Michael D Kinney" <michael.d.kinney@intel.com>,
"Michael Kubacki" <michael.kubacki@microsoft.com>,
"Zhiguang Liu" <zhiguang.liu@intel.com>,
"Liming Gao" <gaoliming@byosoft.com.cn>,
"TonyLo [羅金松]" <TonyLo@ami.com>
Subject: Re: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network devices support
Date: Tue, 6 Sep 2022 09:05:26 -0600 [thread overview]
Message-ID: <71155a5e-2756-828c-ec56-79b5a73b488e@quicinc.com> (raw)
In-Reply-To: <20220902052418.2253-1-richardho@ami.com>
Is it expected that this will work with QEMU (with the usb-net fixes from https://github.com/mcb30/qemu/tree/usbnet3),
for example using the SBSA-REF machine for Arm or OVMF for X64?
I'm adding the following parameters to QEMU:
-netdev user,id=net0,net=192.168.10.0/24,dhcpstart=192.168.10.1 -device usb-net,netdev=net0
On OVMF I get the following crash when loading UsbRndis.efi after NetworkCommon.efi:
Support(): UNDI3.1 found on handle 6550D18
Support(): supported on 6550D18
Start(): UNDI3.1 found
!!!! X64 Exception Type - 06(#UD - Invalid Opcode) CPU Apic ID - 00000000 !!!!
RIP - 00000000000B0001, CS - 0000000000000038, RFLAGS - 0000000000000283
RAX - 000000000653AF80, RCX - 00000000065DC382, RDX - 0000000000005441
RBX - 00000000065D8000, RSP - 0000000007E8EA48, RBP - 00000000065DB001
RSI - 0000000000000048, RDI - 0000000006CE82C0
R8 - 0000000007E8EA60, R9 - 0000000007E8EAD0, R10 - 0000000007E8E804
R11 - 0000000000000000, R12 - 8000000000000003, R13 - 0000000000000001
R14 - 0000000006CEE640, R15 - 0000000000000006
DS - 0000000000000030, ES - 0000000000000030, FS - 0000000000000030
GS - 0000000000000030, SS - 0000000000000030
CR0 - 0000000080010033, CR2 - 0000000000000000, CR3 - 0000000007C01000
CR4 - 0000000000000668, CR8 - 0000000000000000
DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 00000000079DE000 0000000000000047, LDTR - 0000000000000000
IDTR - 000000000753C018 0000000000000FFF, TR - 0000000000000000
FXSAVE_STATE - 0000000007E8E6A0
!!!! Can't find image information. !!!!
On Arm, I don't get a crash but no network interface gets created.
I've checked the QEMU RNDIS interface is working: if I boot to Linux I can get an IP address and communicate with the outside world.
--
Rebecca Cran
On 9/1/22 23:24, RichardHo [何明忠] via groups.io wrote:
> UsbNetworkPkg provides network functions for USB ACM, USB NCM,
> and USB RNDIS network device.
>
> Signed-off-by: Richard Ho <richardho@ami.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Michael Kubacki <michael.kubacki@microsoft.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Reviewed-by: Tony Lo <tonylo@ami.com>
> ---
> UsbNetworkPkg/Config/UsbNetworkPkg.inc.dsc | 9 +
> .../Config/UsbNetworkPkgComponentsDxe.inc.dsc | 20 +
> .../Config/UsbNetworkPkgComponentsDxe.inc.fdf | 20 +
> .../Config/UsbNetworkPkgDefines.inc.dsc | 23 +
> .../Include/Protocol/UsbEthernetProtocol.h | 872 +++++++++
> UsbNetworkPkg/NetworkCommon/ComponentName.c | 264 +++
> UsbNetworkPkg/NetworkCommon/DriverBinding.c | 583 ++++++
> UsbNetworkPkg/NetworkCommon/DriverBinding.h | 263 +++
> UsbNetworkPkg/NetworkCommon/NetworkCommon.inf | 43 +
> UsbNetworkPkg/NetworkCommon/PxeFunction.c | 1734 +++++++++++++++++
> UsbNetworkPkg/ReadMe.md | 65 +
> UsbNetworkPkg/ReleaseNotes.md | 11 +
> UsbNetworkPkg/UsbCdcEcm/ComponentName.c | 170 ++
> UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.c | 504 +++++
> UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.h | 211 ++
> UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.inf | 41 +
> UsbNetworkPkg/UsbCdcEcm/UsbEcmFunction.c | 861 ++++++++
> UsbNetworkPkg/UsbCdcNcm/ComponentName.c | 170 ++
> UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.c | 508 +++++
> UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.h | 245 +++
> UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.inf | 41 +
> UsbNetworkPkg/UsbCdcNcm/UsbNcmFunction.c | 946 +++++++++
> UsbNetworkPkg/UsbNetworkPkg.dec | 32 +
> UsbNetworkPkg/UsbRndis/ComponentName.c | 172 ++
> UsbNetworkPkg/UsbRndis/UsbRndis.c | 848 ++++++++
> UsbNetworkPkg/UsbRndis/UsbRndis.h | 569 ++++++
> UsbNetworkPkg/UsbRndis/UsbRndis.inf | 41 +
> UsbNetworkPkg/UsbRndis/UsbRndisFunction.c | 1587 +++++++++++++++
> 28 files changed, 10853 insertions(+)
> create mode 100644 UsbNetworkPkg/Config/UsbNetworkPkg.inc.dsc
> create mode 100644 UsbNetworkPkg/Config/UsbNetworkPkgComponentsDxe.inc.dsc
> create mode 100644 UsbNetworkPkg/Config/UsbNetworkPkgComponentsDxe.inc.fdf
> create mode 100644 UsbNetworkPkg/Config/UsbNetworkPkgDefines.inc.dsc
> create mode 100644 UsbNetworkPkg/Include/Protocol/UsbEthernetProtocol.h
> create mode 100644 UsbNetworkPkg/NetworkCommon/ComponentName.c
> create mode 100644 UsbNetworkPkg/NetworkCommon/DriverBinding.c
> create mode 100644 UsbNetworkPkg/NetworkCommon/DriverBinding.h
> create mode 100644 UsbNetworkPkg/NetworkCommon/NetworkCommon.inf
> create mode 100644 UsbNetworkPkg/NetworkCommon/PxeFunction.c
> create mode 100644 UsbNetworkPkg/ReadMe.md
> create mode 100644 UsbNetworkPkg/ReleaseNotes.md
> create mode 100644 UsbNetworkPkg/UsbCdcEcm/ComponentName.c
> create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.c
> create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.h
> create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.inf
> create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbEcmFunction.c
> create mode 100644 UsbNetworkPkg/UsbCdcNcm/ComponentName.c
> create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.c
> create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.h
> create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.inf
> create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbNcmFunction.c
> create mode 100644 UsbNetworkPkg/UsbNetworkPkg.dec
> create mode 100644 UsbNetworkPkg/UsbRndis/ComponentName.c
> create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndis.c
> create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndis.h
> create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndis.inf
> create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndisFunction.c
next prev parent reply other threads:[~2022-09-06 15:05 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-02 5:24 [PATCH] UsbNetworkPkg: add USB network devices support RichardHo [何明忠]
2022-09-02 21:48 ` [edk2-devel] " Rebecca Cran
2022-09-09 7:06 ` Chang, Abner
2022-09-12 3:48 ` RichardHo [何明忠]
2022-09-12 7:55 ` Chang, Abner
2022-09-21 2:34 ` RichardHo [何明忠]
2022-09-22 12:52 ` Chang, Abner
2022-09-06 15:05 ` Rebecca Cran [this message]
2022-09-07 5:31 ` RichardHo [何明忠]
2022-09-07 17:46 ` Rebecca Cran
2022-09-23 5:03 ` 回复: " gaoliming
2022-09-23 5:54 ` RichardHo [何明忠]
2022-09-23 7:17 ` 回复: " gaoliming
2022-11-26 18:56 ` Rebecca Cran
2022-11-28 5:24 ` RichardHo [何明忠]
2022-12-05 3:14 ` Rebecca Cran
2022-12-06 9:15 ` RichardHo [何明忠]
-- strict thread matches above, loose matches on Subject: below --
2022-08-31 7:51 RichardHo [何明忠]
2022-08-31 13:28 ` [edk2-devel] " Rebecca Cran
2022-09-01 2:51 ` RichardHo [何明忠]
2022-09-01 9:05 ` Chang, Abner
2022-09-01 10:47 ` RichardHo [何明忠]
2022-09-01 12:38 ` Rebecca Cran
2022-08-31 2:31 RichardHo [何明忠]
2022-08-31 12:15 ` [edk2-devel] " Rebecca Cran
2022-08-19 9:17 richardho
2022-08-19 15:54 ` [edk2-devel] " Pedro Falcato
2022-08-19 15:56 ` Pedro Falcato
2022-08-29 10:57 ` RichardHo [何明忠]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=71155a5e-2756-828c-ec56-79b5a73b488e@quicinc.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox