lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3c79f786-de34-550e-3964-d7fb334f6d56@gmail.com>
Date:   Thu, 9 Jan 2020 10:37:09 +0800
From:   "Ji-Ze Hong (Peter Hong)" <hpeter@...il.com>
To:     Johan Hovold <johan@...nel.org>
Cc:     gregkh@...uxfoundation.org, linux-usb@...r.kernel.org,
        linux-kernel@...r.kernel.org, peter_hong@...tek.com.tw,
        "Ji-Ze Hong (Peter Hong)" <hpeter+linux_kernel@...il.com>
Subject: Re: [PATCH V2 5/7] USB: serial: f81232: Set F81534A serial port with
 RS232 mode

Hi Johan,

Johan Hovold 於 2020/1/8 下午 10:35 寫道:
>> Yes, when 1 F81534A connect to Host, it'll report device as following.
>> 	virtual HUB
>> 		GPIO Device.
>> 		serial port 1
>> 		...
>> 		serial port n
> 
> Could you post lsusb -v output for this with a couple of UARTs enabled?

The following lsusb log is F81536 informations
2c42:1608 => HUB
2c42:16f8 => GPIO device
2c42:163x => UART (need driver enable)

*before insmod driver
Bus 002 Device 003: ID 05e3:0620 Genesys Logic, Inc.
Bus 002 Device 002: ID 05e3:0620 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0603:00f2 Novatek Microelectronics Corp. Keyboard 
(Labtec Ultra Flat Keyboard)
Bus 001 Device 005: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 001 Device 044: ID 2c42:16f8
Bus 001 Device 043: ID 2c42:1608
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

*after insmod driver and wait for complete
Bus 002 Device 003: ID 05e3:0620 Genesys Logic, Inc.
Bus 002 Device 002: ID 05e3:0620 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0603:00f2 Novatek Microelectronics Corp. Keyboard 
(Labtec Ultra Flat Keyboard)
Bus 001 Device 005: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 001 Device 052: ID 2c42:1636
Bus 001 Device 051: ID 2c42:1636
Bus 001 Device 050: ID 2c42:1636
Bus 001 Device 049: ID 2c42:1636
Bus 001 Device 048: ID 2c42:1636
Bus 001 Device 047: ID 2c42:1636
Bus 001 Device 046: ID 2c42:1636
Bus 001 Device 045: ID 2c42:1636
Bus 001 Device 056: ID 2c42:1636
Bus 001 Device 055: ID 2c42:1636
Bus 001 Device 054: ID 2c42:1636
Bus 001 Device 053: ID 2c42:1636
Bus 001 Device 044: ID 2c42:16f8
Bus 001 Device 043: ID 2c42:1608
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

>> The link are F81534A pin-out:
>> 	https://imgur.com/a/AZHqQ1N
> 
> Do you have a datasheet for the device?
> 
> I think I'm starting to get an idea of how this work, but I really don't
> like having to spend this much time on detective work just to understand
> how the hw works.

The following link is F81536 spec:
https://drive.google.com/drive/folders/1oA8DvpevFXoTLCDfPZHzaBWKr32ch5xc?usp=sharing

>> So we can control F81534A series all GPIO pins via GPIO Device.
>> Serial ports are also control MODE0_x,  MODE1_x,  MODE2_x
>> (e.g. UART1 MODE0_1,  MODE1_1,  MODE2_1), but when Serial ports
>> is h/w disabled (DTR pull low), the mode pin will change to GPIO pin.
> 
> So you tie a ports DTR pin, even though it's normally an output, and use
> that at boot to determine whether the UART should be enabled or not?
> 
> And the GPIO device can only control a pin if the corresponding port is
> disabled?
> 
> Can you read back the enable state of each port?

DTR pin of the F81534A series are strap pin on power on, when IC detect
it pulled to low, the UART device can't enable and DTR change to input
mode.

I can read the UART enable state from GPIO Device, so I can do when the
GPIO is associated with UART enabled, change it as output only otherwise
can be set to input/output. Is this OK ??

> What about devices using a different tranceiver? Should the state of the
> mode pins ultimately be tied to VID/PID (can your customers change
> VID/PID)?
> 

Our device VID/PID is changeable, but we assume don't change it.

-- 
With Best Regards,
Peter Hong

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ