From: "Rebecca Cran" <quic_rcran@quicinc.com>
To: "RichardHo [何明忠]" <RichardHo@ami.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
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: Wed, 7 Sep 2022 11:46:30 -0600 [thread overview]
Message-ID: <1b4d3484-4f27-ca79-8e47-d5f3a2f53919@quicinc.com> (raw)
In-Reply-To: <DM5PR10MB1660F4C88B7BD98F26F53B3EB0419@DM5PR10MB1660.namprd10.prod.outlook.com>
In theory, yes QEMU should be the standard USB RNDIS protocol, but I
don't know what bugs are present in the implementation.
--
Rebecca Cran
On 9/6/22 23:31, RichardHo [何明忠] wrote:
> Hi Rebecca,
>
> We didn't check it in QEMU.
> Is QEMU report standard USB RNDIS protocol?
>
> We only test it in physical device. Below is device lists.
>
> USB RNDIS:
> AST2500 : BMC report the RNDIS device
>
> USB NCM:
> DisplayLink HIS USB3.0 Portable Dock(DisplayLink (UK) Ltd.)
> Vendor ID: 0x17E9
> Product ID: 0x4301
>
> USB ECM:
> DM9621(Davicom Semiconductor, Inc.)
> Vendor ID: 0x0A46
> Product ID: 0x1269
>
> Thanks,
> Richard
>
> -----Original Message-----
> From: Rebecca Cran <rebecca@quicinc.com>
> Sent: 2022年9月6日 11:05 PM
> To: devel@edk2.groups.io; RichardHo [何明忠] <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: [EXTERNAL] Re: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network devices support
>
>
> **CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.**
>
> Is it expected that this will work with QEMU (with the usb-net fixes from https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmcb30%2Fqemu%2Ftree%2Fusbnet3&data=05%7C01%7Crichardho%40ami.com%7C1dd20e124cd64659b4e908da90193dd3%7C27e97857e15f486cb58e86c2b3040f93%7C1%7C0%7C637980735342252066%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=xHRQc%2Fnv7fPk%2BPEVavIlfFpaXj6Gq8NiHUsRdd5HD%2Fc%3D&reserved=0),
> 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
> -The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
next prev parent reply other threads:[~2022-09-07 17:46 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
2022-09-07 5:31 ` RichardHo [何明忠]
2022-09-07 17:46 ` Rebecca Cran [this message]
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=1b4d3484-4f27-ca79-8e47-d5f3a2f53919@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