扩展坞装置、电子装置及MAC位址复制方法与流程

文档序号:17130119发布日期:2019-03-16 01:04阅读:1330来源:国知局
扩展坞装置、电子装置及MAC位址复制方法与流程

本公开关于扩展坞装置,且特别关于包含网络接口控制器的扩展坞装置。



背景技术:

近年随着超薄笔记本电脑及平板电脑的发展,许多电子装置设计无内建网卡。另一方面,外接网卡扩展坞广泛用以连接超薄笔记本电脑和/或平板电脑至预启动执行环境(pxe)网络。



技术实现要素:

本公开一实施方式为扩展坞装置,包含用以连接于主机装置的总线接口与网络接口控制器。网络接口控制器耦接于总线接口,用以于主机装置通过总线接口连接至扩展坞装置时,接收主机装置的主机端mac位址,并载入主机端mac位址进行网络通信。主机端mac位址存储于主机装置的bios内具有厂商特定格式的表单之中。

本公开另一实施方式为电子装置,包含用以连接于扩展坞装置的总线接口、耦接于总线接口的一或多个处理元件、耦接于处理元件的存储器,及一或多个程序。扩展坞装置包含网络接口控制器。程序存储于存储器中,并用以被处理元件所执行,程序包括以下指令:解析存储于主机装置的bios内具有厂商特定格式的表单,以取得对应主机装置的主机端mac位址;及当扩展坞装置连接至总线接口时,经由总线接口传输主机端mac位址至扩展坞装置以使扩展坞装置载入进行网络通信。

本公开另一实施方式为mac位址复制方法,包含:由扩展坞装置的网络接口控制器,载入存储于扩展坞装置的存储器中的预设mac位址进行网络通信;由网络接口控制器驱动器,解析存储于主机装置的bios内具有厂商特定格式的表单,以取得对应主机装置的主机端mac位址;由网络接口控制器驱动器,经由总线接口传输主机端mac位址至扩展坞装置;及当主机装置连接于扩展坞装置时,由网络接口控制器,载入主机端mac位址进行网络通信。

附图说明

图1为依部分实施例示出的网络系统示意图。

图2为依部分实施例示出的主机装置及扩展坞装置示意图。

图3为依部分实施例示出的mac位址复制方法流程图。

图4、图5分别为依部分实施例示出的主机装置及扩展坞装置示意图。

图6为依其他部分实施例示出的mac位址复制方法流程图。

图7为依部分实施例示出的主机装置及扩展坞装置示意图。

符号说明

100主机装置

120存储器

122作业系统

124bios

126固件

131nic驱动器

140处理元件

151表单

153bios驱动器

160总线接口

180存储器

190控制器

200扩展坞装置

220、220a、220b、220c网络接口控制器

222存储器

240切换电路

260总线接口

280存储器

290控制器

320、340、360电子装置

600、900方法

s601~s617、s901~s912操作

mac0、mac1、mac2mac位址

vdd电压

id1、id2标识符

smb11系统管理总线

具体实施方式

下文是举实施例配合附图作详细说明,以更好理解本公开实施方式。下述说明中相同元件以相同符号标示以便于理解。于本文中,当元件被称为“连接”或“耦接”时,可指“电性连接”或“电性耦接”。“连接”或“耦接”亦可表示两个或更多个元件间相互搭配操作或互动。

参考图1,网络系统包含主机装置100、扩展坞(docking/dongle)装置200及一或多个连网的电子装置320、340及360。举例来说,主机装置100及电子装置320、340及360可为电性连接至扩展坞装置200的个人电脑、服务器、笔记本电脑、平板电脑或智能手机。扩展坞装置200中内建的网络接口控制器(networkinterfacecontroller,nic)可为主机装置100及电子装置320、340及360进行网络通信。

nic的制造商分配一预设媒体存取控制(mediaaccesscontrol,mac)位址,并存储于nic中的硬件存储器中。部分实施例中,全球mac位址(universalmac),即主机端mac位址(hostbasedmacaddress,hbma),可存储于主机装置100的基本输入输出系统(basicinputoutputsystem,bios)内。当主机装置100连接于扩展坞装置200时,扩展坞装置200中的nic可载入全球mac位址进行网络通信。借此,对于分配给多个使用者的扩展坞装置200,由于mac位址会更新为对应主机装置100的特定mac位址,便可针对使用者在网络系统中的行为,根据mac位址进行追踪和/或管理。

为理解mac位址设定的操作,参考图2。如图2所示,主机装置100包含系统存储器120、一或多个处理元件140、及总线接口(businterface)160。处理元件140通过系统互连(systeminterconnect),如系统总线,耦接于总线接口160及系统存储器120。扩展坞装置200包含网络接口控制器(nic)220、切换电路240及总线接口260。切换电路240与总线接口260分别电性耦接于网络接口控制器220。部分实施例中,总线接口160及相应的总线接口260可通过usbtype-c接口实现,但本公开并不以此为限。

如图所示,存储器120可包含多个模块,包含作业系统122、bios124、固件126等等。一或多个程序存储于存储器120中,并被处理元件140所执行。程序包括指令以进行nic驱动器131、bios驱动器153和/或固件126的操作。

作业系统122包含nic驱动器131,其用以进行mac位址复制方法,以复制存储于主机装置100中的bios124中的主机端mac位址mac1至扩展坞装置200中的网络接口控制器220,使得于主机装置100通过总线接口160、260连接至扩展坞装置200时,网络接口控制器220载入全球mac位址进行网络通信。

主机端mac位址mac1可存储于主机装置100的bios124内具有厂商特定格式(vendorspecificformatstructure)的表单151之中。举例来说,部分实施例中,主机端mac位址mac1可存储于bios124中具有厂商特定标头格式的bios进阶组态与电源接口(bios-acpi-dsdt)表单中。在其他部分实施例,主机端mac位址mac1可存储于具有厂商特定标头格式的系统管理bios表单(systemmanagementbios,smbios)或厂商自订固件表单(rawvendordefinedfirmware,raw厂商定义固件表单)。表单151可由nic驱动器131解析以取得对应主机装置100的主机端mac位址mac1。

借此,nic驱动器131便可通过总线接口160、260更新主机端mac位址mac1至扩展坞装置200。如此,当主机装置100连接时,网络接口控制器220便可接收主机装置100的主机端mac位址mac1并载入主机端mac位址mac1进行网络通信。

于扩展坞装置200侧,网络接口控制器220包含存储器222,其用以存储预设mac位址mac0进行网络通信。切换电路240电性耦接于网络接口控制器220及供应电压vdd。如此,当主机装置100自扩展坞装置200分离时,切换电路240便可关闭网络接口控制器220。

参考图3。图2实施例中的主机装置100与扩展坞装置200的协同操作将说明如下。

如图3所示,mac位址复制方法900包含操作s901~s912。在操作s901,当没有主机装置100坞接于扩展坞装置200时,网络接口控制器220处于关闭状态。在操作s902,若扩展坞装置200检测到主机装置100通过总线接口160、260坞接时,执行操作s903,并将供应电压vdd(如:约5v)供应至网络接口控制器220以启动网络接口控制器220开始工作。

当网络接口控制器220启动后,执行操作s904,扩展坞装置200的网络接口控制器220载入存储于扩展坞装置200的存储器222中的预设mac位址mac0进行网络通信。

当主机装置100坞接于扩展坞装置200唤起nic驱动器131时,nic驱动器131检查一或多个条件以判断是否执行mac复制程序。

在操作s905中,nic驱动器131检查驱动器是否支援mac复制功能。

若有支援mac复制功能,nic驱动器131进一步执行操作s906并检查具有厂商特定标头格式的表单151(如:biosacpi表单、smbios表单,或原始厂商自订固件表单)是否存在。

若满足条件,则执行操作s907与s908。在操作s907中,nic驱动器131解析存储于连接到扩展坞装置200的主机装置100的bios124中具有厂商特定格式的表单151,以取得对应主机装置100的主机端mac位址mac1。接着,在操作s908中,nic驱动器131通过总线接口160、260传输主机端mac位址mac1至扩展坞装置200的网络接口控制器220。

另一方面,若没有满足其中一条件,执行操作s909,并保留存储于存储器222中的预设mac位址mac0进行网络通信。

借此,在操作s910中,网络接口控制器220便可进行网络通信。换言之,当主机装置100连接于扩展坞装置200时,网络接口控制器220可载入对应主机装置100的主机端mac位址mac1进行网络通信。此外,若不支援mac位址复制功能或者厂商特定表单151不存在时,网络接口控制器220亦可选择性载入预设mac位址mac0。

在操作s911中,若扩展坞装置200检测到主机装置100解除坞接并自扩展坞装置200分离时,执行操作s912并自网络接口控制器220移除供应电压vdd(如:约5v)以关闭网络接口控制器220。

在操作s912中,切换电路240关闭网络接口控制器220,以清除网络接口控制器220中存储的主机端mac位址mac1。当网络接口控制器220关闭后,主机端mac位址mac1便被清除。若先前的主机装置100自扩展坞装置200分离,当网络接口控制器220重新启动时,便可载入预设mac位址mac0。

参考图4。如图4所示,部分实施例中,若有一个以上的mac位址需求时,nic驱动器131可支援多个全球mac位址。具有厂商特定格式的表单151中可定义有多个全球mac位址mac1、mac2以满足需求。

举例来说,部分实施例中,多个网络接口控制器220a、220b、220c设置于扩展坞装置200中。在其他部分实施例中,主机装置100亦可同时连接至多个扩展坞装置200,或多个扩展坞装置200可彼此连接。于此条件下,nic驱动器131可分别传递未被占用的全球mac位址mac1、mac2至网络接口控制器220a、220b作为主机端mac位址进行网络通信。

部分实施例中,优先度可分别分配至定义于表单151中的全球mac位址mac1、mac2,nic驱动器131根据全球mac位址mac1、mac2的优先度选择全球mac位址中未被占用的一者。

换言之,nic驱动器131可决定全球mac位址mac1、mac2的优先度,并根据全球mac位址mac1、mac2的优先度将全球mac位址mac1、mac2传递至连接于总线接口160的多个网络接口控制器。

相似地,nic驱动器131亦可决定连接于总线接口160的网络接口控制器220a、220b、220c的优先度,并根据网络接口控制器220a、220b、220c的优先度传递全球mac位址mac1、mac2至连接于总线接口160的网络接口控制器220a、220b、220c进行网络通信。

此外,当连接于总线接口160的网络接口控制器的数量达到上限值时,nic驱动器131可执行冲突保护程序。在冲突保护程序中,连接于总线接口160的优先度较低的一或多个网络接口控制器(如:网络接口控制器220c)载入存储于网络接口控制器220c的存储器222中的预设mac位址mac0进行网络通信。如图4示出,当被占用的全球mac位址达到上限值时,网络接口控制器220载入预设mac位址mac0进行网络通信。

换言之,若超过一个网络接口控制器220a、220b、220c需要全球mac位址,bios124可存储多个全球mac位址mac1、mac2,并基于已知的mac位址优先度列表将其传送至网络接口控制器220a、220b。具有第一优先度的mac位址可被第一个支援mac复制的装置使用,以此类推。若全球mac位址的数量不足,便会触发保护机制,优先度较低的一或多个装置载入预设mac位址进行网络通信,以避免发生mac冲突的问题。

参考图5。在图5所示实施例中,扩展坞装置200还包含耦接于总线接口260的外部存储器280。外部存储器280分别存储主机端mac位址mac1、mac2及相应的标识符id1、id2。于主机装置侧,bios124包含bios驱动器153,其操作于进入作业系统阶段前的bios阶段。

参考图6。图5实施例中的主机装置100与扩展坞装置200的协同操作亦将说明如下。

如图6所示,mac位址复制方法600包含操作s601~s612。在操作s601中,主机装置100处于关闭状态。在操作s602中,主机装置100通过总线接口160、260坞接至扩展坞装置200。在操作s603中,电源供应至主机装置100以启动主机装置100。

接着,在操作s604中,主机装置100被启动并进入bios阶段后,便载入并唤起bios驱动器153。

bios驱动器153检查一或多个条件以判断是否执行mac复制程序。

在操作s605中,bios驱动器153检查驱动器是否支援mac复制功能。若有支援mac复制功能,bios驱动器153进一步执行操作s606并检查具有厂商特定标头格式的表单151(如:biosacpi、smbios,或原始厂商自订固件表单)是否存在。

若两者条件皆满足,则执行操作s607与s608。在操作s607中,bios驱动器153解析存储于连接到扩展坞装置200的主机装置100的bios124中具有厂商特定格式的表单151,以取得对应主机装置100的主机端mac位址mac1。接着,在操作s608中,于bios阶段,bios驱动器153写入主机端mac位址mac1及bios124中相应的标识符id1至连接于总线接口160、260的扩展坞装置200中的外部存储器280。

接着,在操作s609中,当主机装置100进入作业系统阶段时,便载入并唤起nic驱动器131。在操作s610中,当网络接口控制器220启动时,扩展坞装置200的网络接口控制器220载入存储于扩展坞装置200的存储器222的预设mac位址mac0进行网络通信。

在操作s611中,nic驱动器131检查驱动器是否支援mac复制功能。若有支援mac复制功能,于操作s612和s613中,nic驱动器131进一步于作业系统阶段中读取存储于外部存储器280中的标识符id1、id2,并判断检查存储于外部存储器280中的标识符id1、id2是否匹配系统bios的标识符。

若两者条件皆满足,则执行操作s614。当标识符匹配时,nic驱动器131于作业系统阶段,传递外部存储器280中相应于标识符(如:id1)的主机端mac位址(如:mac1)至网络接口控制器220进行网络通信。

若操作s605、s606、s611或s613中其中一者条件不满足,执行操作s615,并保留存储于存储器222中的预设mac位址mac0。

借此,在操作s616中,网络接口控制器220便可进行网络通信,并基于包含主机端mac位址的主机装置100是否连接到扩展坞装置200,及是否支援mac位址复制功能,选择性载入对应主机装置100的主机端mac位址mac1或预设mac位址mac0进行网络通信。

在操作s617中,若主机装置100重新开机,则重新执行操作s601。

值得注意的是,在其他部分实施例中,外部存储器280亦可设置于主机装置100中或一独立的电子装置中。如此,图5和图6所示实施例仅为范例,并非用以限制本公开。

若主机装置100为频外(out-of-band)管理,可采用硬件机制使得扩展坞装置200的硬件使用bios124中所存储的主机端mac位址。在网络系统处于频外的状态下,使用者可执行内网唤醒(wake-on-lan)或外网唤醒(wake-on-wan)。

参考图7。部分实施例中,主机装置100还包含控制器190,如电源供应(powerdelivery,pd)控制器。总线接口160通过相应引脚耦接至控制器190。bios124通过系统管理总线(smbus)smb11电性耦接至控制器190。部分实施例中,主机装置100可包含外部存储器180,其通过厂商自订接口(vendordefinedinterface,厂商定义接口)通信耦接至bios124与控制器190。

扩展坞装置200亦包含控制器290,如pd控制器。在其他部分实施例中,控制器190、290亦可由雷雳旁波段控制器(thunderboltsidebandcontroller)或其他系统单芯片(systemonchip,soc)实现。总线接口260通过相应引脚耦接于控制器290。网络接口控制器220可通过smbus、i2c或eeprom引脚耦接至pd控制器。

如此,bios124可自acpi或smbios表单提供厂商特定标头格式传递至系统管理总线smb11,以标准通信协定pldm/mctp传递至控制器190。控制器190可提供smbus及通信协定解码功能以将bios、smbios或厂商特定通信协定至扩展坞装置200中的控制器290。

控制器290可将自bios124传递来的原始数据进行解译至标准eeprom波形格式并送至网络接口控制器220的eeprom引脚。值得注意的是,在其他部分实施例中,控制器290亦可以通过系统管理总线或者i2c总线与网络接口控制器220沟通。

如此,网络接口控制器220便可提供唤醒信号至控制器290。当控制器290相应进行厂商特定的厂商自订信息(vendordefinedmessage,vdm,厂商定义信息)至主机装置100的控制器190后,便可在主机侧完成后续唤醒程序。

此外,若外部存储器180被用以存储主机端mac位址,控制器190可在不需使用smbus的情况下,自外部存储器180读取主机端mac位址并传送数据至控制器290。

借此,通过上述途径,便可实现在频外管理下的mac位址复制及内网唤醒、外网唤醒功能。

虽然本公开已以具体实施例详细公开如上,其他实施例亦为可能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1