Re: Legacy configuration for NCM/RNDIS does not work for Win >= 10

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

 



On Thu, 2023-03-16 at 11:56 +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> On Tue, Mar 14, 2023 at 01:19:25PM +0000, Joakim Tjernlund wrote:
> > On Fri, 2023-03-10 at 13:27 +0100, Joakim Tjernlund wrote:
> > > On Fri, 2023-03-10 at 10:55 +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> > > > On Fri, Mar 10, 2023 at 09:44:26AM +0000, Joakim Tjernlund wrote:
> > > > > The old RNDIS/NCM configs does not work against modern Windows. I wonder if there
> > > > > should/could be updated to working state ?
> > > > 
> > > > Please never use RNDIS on modern systems unless you fully trust the
> > > > "other side" of the connection as it is not a secure protocol by any
> > > > means.
> > > 
> > > Yes, we will move to NCM (new in >= Windows 10)
> > > 
> > > > 
> > > > NCM should "just work" instead.  What exactly is failing, and what
> > > > specifically do you mean by "modern Windows"?
> > > 
> > > NCM does not just work on Windows >= 10 it needs configfs settings:
> > > 
> > > NCM snipped:
> > > 	echo 1       > os_desc/use
> > > 	echo 0xbc    > os_desc/b_vendor_code
> > > 	echo MSFT100 > os_desc/qw_sign
> > > 
> > > 	mkdir functions/ncm.usb0
> > > 	mkdir -p functions/ncm.usb0/os_desc/interface.ncm
> > >     #Set compatible id so that Windows 10 can match this function to
> > >     # NCM driver more easily.
> > > 	echo WINNCM   > functions/ncm.usb0/os_desc/interface.ncm/compatible_id
> > > 
> > > 	mkdir -p configs/c.1
> > > 	mkdir -p configs/c.1/strings/0x409
> > > 	echo "conf1" > configs/c.1/strings/0x409/configuration
> > > 	ln -s functions/ncm.usb0 configs/c.1
> > > 	if [ ! -L os_desc/c.1 ]
> > > 	then
> > > 		 ln -s configs/c.1 os_desc
> > > 	fi
> > > 
> > > New RNDIS in Windows >= 10
> > > 	echo 1       > os_desc/use
> > > 	echo 0xbc    > os_desc/b_vendor_code
> > > 	echo MSFT100 > os_desc/qw_sign
> > > 
> > > 	mkdir functions/rndis.usb0
> > > 	mkdir -p functions/rndis.usb0/os_desc/interface.rndis
> > > 
> > > 	#Set compatible / sub-compatible id's so that Windows can match this
> > >     # function to RNDIS6 driver more easily.
> > > 	echo RNDIS   > functions/rndis.usb0/os_desc/interface.rndis/compatible_id
> > > 	echo 5162001 > functions/rndis.usb0/os_desc/interface.rndis/sub_compatible_id
> > > 
> > > 	mkdir -p configs/c.1
> > > 	mkdir -p configs/c.1/strings/0x409
> > > 	echo "conf1" > configs/c.1/strings/0x409/configuration
> > > 	ln -s functions/rndis.usb0 configs/c.1
> > > 	if [ ! -L os_desc/c.1 ]
> > > 	then
> > > 	 	ln -s configs/c.1 os_desc
> > 
> > 
> > Did this make any sense to you ? The old legacy/builtin configs does not do any of this.
> 
> Sorry, I do not have any Windows machines to test with so I really do
> not know.  If you think the defaults are currently wrong, please submit
> a patch to fix them up.

They are wrong for Win >= 10, that much is sure.

In the 1:st mail in this series I showed what I had done to change the
defaults by mimicking the setup from configs(that works) into code in legacy area
but I cannot make it work. This needs someone who knows how configfs works
and can codify it into legacy C code(not me obviously)

 Jocke




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux