Re: [BlueZ] monitor: Fix the incorrect vendor name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Archie,

On Thu, 2021-04-15 at 11:47 +0800, Archie Pusaka wrote:
> Hi Tedd,
> 
> On Thu, 15 Apr 2021 at 10:26, An, Tedd <tedd.an@xxxxxxxxx> wrote:
> > Hi Marcel,
> > 
> > On 4/14/21, 3:09 AM, "Marcel Holtmann" <marcel@xxxxxxxxxxxx> wrote:
> > 
> >     Hi Tedd,
> > 
> >     > This patch fixes the vendor name is alwasy shown as "Microsoft" even
> >     > though a different vendor.
> >     >
> >     > < HCI Command: Microsoft Secure Send (0x3f|0x0009) plen 249
> >     >        Type: Data fragment (0x01)
> >     >> HCI Event: Command Complete (0x0e) plen 4
> >     >      Microsoft Secure Send (0x3f|0x0009) ncmd 31
> >     >        Status: Success (0x00)
> >     > ---
> >     > monitor/packet.c | 12 +++---------
> >     > 1 file changed, 3 insertions(+), 9 deletions(-)
> >     >
> >     > diff --git a/monitor/packet.c b/monitor/packet.c
> >     > index d729a01cc..91d2294ff 100644
> >     > --- a/monitor/packet.c
> >     > +++ b/monitor/packet.c
> >     > @@ -9325,18 +9325,12 @@ static const char *get_supported_command(int
> > bit)
> >     >
> >     > static const char *current_vendor_str(void)
> >     > {
> >     > - uint16_t manufacturer, msft_opcode;
> >     > + uint16_t manufacturer;
> >     >
> >     > - if (index_current < MAX_INDEX) {
> >     > + if (index_current < MAX_INDEX)
> >     >           manufacturer = index_list[index_current].manufacturer;
> >     > -         msft_opcode = index_list[index_current].msft_opcode;
> >     > - } else {
> >     > + else
> >     >           manufacturer = fallback_manufacturer;
> >     > -         msft_opcode = BT_HCI_CMD_NOP;
> >     > - }
> >     > -
> >     > - if (msft_opcode != BT_HCI_CMD_NOP)
> >     > -         return "Microsoft";
> > 
> >     seems we have a bug here, but the fix can not be correct either. If we
> > are running on Intel firmware and the Microsoft extension is used, it should
> > show Microsoft and not Intel for the vendor commands.
> > 
> > I submitted v2 and I think I took care of the msft_opcode handling but I
> > realized that the msft_event_opcode is also like msft_opcode - each vendor
> > will have a different value.
> > I know the msft_event_code for Intel, which is 0x50, but don't know for
> > Realtek. (Do you happen to know?)
> 
> On my Realtek device the msft_event_code is 8 bytes long: 0x23 0x79
> 0x54 0x33 0x77 0x88 0x97 0x68.
> 
> localhost ~ # hcitool cmd 0x3f 0xf0 0x00
> < HCI Command: ogf 0x3f, ocf 0x00f0, plen 1
>   00
> > HCI Event: 0x0e plen 22
>   02 F0 FC 00 00 3F 00 00 00 00 00 00 00 08 23 79 54 33 77 88
>   97 68
> 

Thanks for the info.
I am going to change the pat to support "variable" length of msft_event_code.

> > I changed the v2 to RFC for your further comments.
> > 
> >     Regards
> > 
> >     Marcel
> > 
> > Regards,
> > Tedd
> > 
> 
> Cheers,
> Archie




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux