# Re: I need advice with UPS connection. (ping)

- From: David Niklas \<hidden\>
- Date: 2021-11-22 16:25:36 
- List: linux-input
- Page: https://ratatoskr.run/linux-input/2021/11/1581808
- Thread: https://ratatoskr.run/linux-usb/2020/11/8875202/t.md

```text
On Sat, 20 Nov 2021 21:54:20 -0500
Alan Stern [ref] wrote:
> On Fri, Nov 19, 2021 at 05:19:15PM -0500, David Niklas wrote:
> > On Wed, 17 Nov 2021 12:08:17 -0500
> > Alan Stern [ref] wrote:  
<snip>
> > > This will cause the kernel to ask for 1060 bytes rather than 996.
> > > (It's also potentially dangerous, because it asks for 1060 bytes to
> > > be stored into a 996-byte buffer; if the device sends more data than
> > > expected then the excess will be written beyond the end of the
> > > buffer.)
> > > 
> > > Please send a usbmon trace showing what happens with this patch
> > > applied. And you might as well put the Set-Idle request back in,
> > > because now we know Windows does send that request.
> > >   
> > <snip>
> > 
> > It still disconnects. I've attached the usbmon output.  
> 
> The trace clearly shows the request for a 1060-byte HID report 
> descriptor and the device sending back a 996-byte reply, just like in 
> Windows.  And yet the disconnect still occurs.
> 
> The only remaining difference is the transfer of string descriptors.  
> You can prevent Linux from asking for them by editing usb_string() in 
> drivers/usb/core/message.c.  Just make the function return -ENOMEM 
> unconditionally.  That will stop the requests from going out.
> 
> Alan Stern
> 

Ok, I first edited the kernel to return -ENOMEM like you suggested but
the UPS still disconnected. I then edited it again to re-add the 1060
byte request and the UPS still disconnected.

I'm attaching the usbmon traces.
If you need any additional info I'll do my best to provide it.

Thanks,
David
```

## Attachments

- [mon3.txt.bz2](https://ratatoskr.run/linux-input/2021/11/1581808/attachment/0) (application/x-bzip, 1620 bytes)
- [mon4.txt.bz2](https://ratatoskr.run/linux-input/2021/11/1581808/attachment/1) (application/x-bzip, 1627 bytes)
