Closed mn1213 closed 4 years ago
will take a look
On Mon, Oct 21, 2019 at 10:30 AM mn1213 notifications@github.com wrote:
8BitDo SN30 Pro USB (model 82AA) -> Beaglebone Green -> Nintendo Switch
Inputs start out buttery smooth, but become increasingly delayed as time passes. usb-mitm's memory use also climbs as a buffer somewhere appears to get clogged. A similar symptom was documented at usb-tools/USBProxy-legacy#60 https://github.com/usb-tools/USBProxy-legacy/issues/60 in the past.
Repro is simple: Start the proxy and press a few buttons to ensure everything is working as expected. Leave it alone for several minutes and press a few more. It will take seconds to see the result.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVTP4MK2BTW7BPYAG33QPXRMPA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTIGBQA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXCSNLDDS2JMXBNCJTQPXRMPANCNFSM4JDBYLVQ .
My guess is the conversion talked about in that bug isn't right for this controller. I will see what it looks like when I get home.
On Mon, Oct 21, 2019 at 10:35 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
will take a look
On Mon, Oct 21, 2019 at 10:30 AM mn1213 notifications@github.com wrote:
8BitDo SN30 Pro USB (model 82AA) -> Beaglebone Green -> Nintendo Switch
Inputs start out buttery smooth, but become increasingly delayed as time passes. usb-mitm's memory use also climbs as a buffer somewhere appears to get clogged. A similar symptom was documented at usb-tools/USBProxy-legacy#60 https://github.com/usb-tools/USBProxy-legacy/issues/60 in the past.
Repro is simple: Start the proxy and press a few buttons to ensure everything is working as expected. Leave it alone for several minutes and press a few more. It will take seconds to see the result.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVTP4MK2BTW7BPYAG33QPXRMPA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTIGBQA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXCSNLDDS2JMXBNCJTQPXRMPANCNFSM4JDBYLVQ .
You are seeing this from RetroSpy or in the terminal on the beaglebone?
On Mon, Oct 21, 2019 at 10:42 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
My guess is the conversion talked about in that bug isn't right for this controller. I will see what it looks like when I get home.
On Mon, Oct 21, 2019 at 10:35 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
will take a look
On Mon, Oct 21, 2019 at 10:30 AM mn1213 notifications@github.com wrote:
8BitDo SN30 Pro USB (model 82AA) -> Beaglebone Green -> Nintendo Switch
Inputs start out buttery smooth, but become increasingly delayed as time passes. usb-mitm's memory use also climbs as a buffer somewhere appears to get clogged. A similar symptom was documented at usb-tools/USBProxy-legacy#60 https://github.com/usb-tools/USBProxy-legacy/issues/60 in the past.
Repro is simple: Start the proxy and press a few buttons to ensure everything is working as expected. Leave it alone for several minutes and press a few more. It will take seconds to see the result.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVTP4MK2BTW7BPYAG33QPXRMPA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTIGBQA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXCSNLDDS2JMXBNCJTQPXRMPANCNFSM4JDBYLVQ .
Also have tried with any other types of controllers. or just this one?
On Mon, Oct 21, 2019 at 10:48 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
You are seeing this from RetroSpy or in the terminal on the beaglebone?
On Mon, Oct 21, 2019 at 10:42 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
My guess is the conversion talked about in that bug isn't right for this controller. I will see what it looks like when I get home.
On Mon, Oct 21, 2019 at 10:35 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
will take a look
On Mon, Oct 21, 2019 at 10:30 AM mn1213 notifications@github.com wrote:
8BitDo SN30 Pro USB (model 82AA) -> Beaglebone Green -> Nintendo Switch
Inputs start out buttery smooth, but become increasingly delayed as time passes. usb-mitm's memory use also climbs as a buffer somewhere appears to get clogged. A similar symptom was documented at usb-tools/USBProxy-legacy#60 https://github.com/usb-tools/USBProxy-legacy/issues/60 in the past.
Repro is simple: Start the proxy and press a few buttons to ensure everything is working as expected. Leave it alone for several minutes and press a few more. It will take seconds to see the result.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVTP4MK2BTW7BPYAG33QPXRMPA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTIGBQA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXCSNLDDS2JMXBNCJTQPXRMPANCNFSM4JDBYLVQ .
I can repro on the SN30, it takes a little over 5 minutes to fall over. It doesn't seem to happen on a pro controller, or takes longer. Hard to tell. Memory is leaking somewhere in all cases, but memory usage is double when using the SN30 versus a pro controller.
On Mon, Oct 21, 2019, 10:53 Christopher Mallery < christopher.mallery@gmail.com> wrote:
Also have tried with any other types of controllers. or just this one?
On Mon, Oct 21, 2019 at 10:48 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
You are seeing this from RetroSpy or in the terminal on the beaglebone?
On Mon, Oct 21, 2019 at 10:42 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
My guess is the conversion talked about in that bug isn't right for this controller. I will see what it looks like when I get home.
On Mon, Oct 21, 2019 at 10:35 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
will take a look
On Mon, Oct 21, 2019 at 10:30 AM mn1213 notifications@github.com wrote:
8BitDo SN30 Pro USB (model 82AA) -> Beaglebone Green -> Nintendo Switch
Inputs start out buttery smooth, but become increasingly delayed as time passes. usb-mitm's memory use also climbs as a buffer somewhere appears to get clogged. A similar symptom was documented at usb-tools/USBProxy-legacy#60 https://github.com/usb-tools/USBProxy-legacy/issues/60 in the past.
Repro is simple: Start the proxy and press a few buttons to ensure everything is working as expected. Leave it alone for several minutes and press a few more. It will take seconds to see the result.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVTP4MK2BTW7BPYAG33QPXRMPA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTIGBQA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXCSNLDDS2JMXBNCJTQPXRMPANCNFSM4JDBYLVQ .
I don't have any other supported controllers to test, nor do I have a modified Switch unfortunately.
Although I'm real under-equipped for information gathering here, I can at least add that no amount of fiddling with the order of operations or use of USB hubs in the chain have any positive effect on the situation.
Thinking back to that issue I linked (though it's probably not what we're seeing here), how do the speed and polling rate of a real Pro Controller compare to an SN30 Pro and to the root hub?
I have a theory what is happening, but I need to test it. The SN30 is really an XInput controller that can fake being a Switch Pro controller. When in switch mode it sends an identical descriptor as the Pro controller including th polling interval, but I suspect even thought it is identifying its polling interval as the same as the Pro its actually still operating with the XInput polling rate which is much faster, like 1 instead of 10. I should be able to test the theory today or tomorrow.
On Tue, Oct 22, 2019 at 8:29 AM mn1213 notifications@github.com wrote:
I don't have any other supported controllers to test, nor do I have a modified Switch unfortunately.
Although I'm real under-equipped for information gathering here, I can at least add that no amount of fiddling with the order of operations or use of USB hubs in the chain have any positive effect on the situation.
Thinking back to that issue I linked (though it's probably not what we're seeing here), how do the speed and polling rate of a real Pro Controller compare to an SN30 Pro and to the root hub?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVWXVEBDVNSHQ7NCBOLQP4L7BA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB6FMSA#issuecomment-545019464, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVT7KZCPL33FUNQ2OSDQP4L7BANCNFSM4JDBYLVQ .
That seems like a sound theory, and there are definitely firmware quirks at play here. I can't find a single program that supports DirectInput or Nintendo controllers which can properly connect to and/or read from the controller.
i think i have a fix. I will try to have a test image out to tomorrow
Here is some test bits to try. Sometimes you may have to try a few times to get everything to connect, but i think its pretty solid. http://www.zoggins.net/files/9c769400-0838-44cc-92e1-fbdb5bfd4523/BBB-blank-debian-9.9-retrospy-iot-armhf-2019-10-25-4gb.img.xz http://www.zoggins.net/files/9c769400-0838-44cc-92e1-fbdb5bfd4523/RetroSpy-release.zip
I just tested the new image, though my Windows machine is out at the shop for repairs, so I've not tested the client. The results were quite opposite of what was expected, with inputs taking seconds to process at the time of initial connection. I see you've turned on some extra logging, so here's what I gathered:
$ sudo usb-mitm
Loading plugins from /usr/local/lib/USBProxy/
vendorId=ffffffff
productId=ffffffff
cleaning up /tmp
removing 1
Made directory /tmp/gadget-3mmef3 for gadget
Printing Config data
Strings: 2
DeviceProxy: DeviceProxy_LibUSB
HostProxy: HostProxy_GadgetFS
Vectors: 0
Pointer: 0
Manufacturer: Nintendo Co., Ltd.
Product: Pro Controller
Serial: 000000000001
*Config(1): 09 02 29 00 01 01 00 a0 fa
Interface(0):
*Alt(0): 09 04 00 00 02 03 00 00 00
HID: 09 21 11 01 00 01 22 cb 00
EP(81): 07 05 81 03 40 00 02
EP(02): 07 05 02 03 40 00 08
[81]: old bInterval: 02
[05]: calculated new bInterval: 81
[02]: old bInterval: 08
[07]: calculated new bInterval: 02
searching in [/tmp/gadget-3mmef3]
Starting setup writer thread (5323) for EP00.
Starting setup reader thread (5322) for EP00.
Opened EP81
Opened EP02
Starting writer thread (5330) for EP02.
Starting reader thread (5329) for EP02.
Starting writer thread (5328) for EP81.
Starting reader thread (5327) for EP81.
Warning: queue fills up! Feel free to search the bug in either the driver or usbproxy.
top - 01:38:02 up 6 min, 2 users, load average: 1.77, 1.44, 0.76
Tasks: 91 total, 1 running, 62 sleeping, 0 stopped, 0 zombie
%Cpu(s): 41.7 us, 27.8 sy, 0.0 ni, 29.0 id, 0.1 wa, 0.0 hi, 1.4 si, 0.0 st
KiB Mem : 494888 total, 337956 free, 70556 used, 86376 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 407508 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5318 root 20 0 100532 7692 2724 S 72.7 1.6 2:23.38 usb-mitm
25308 root 20 0 7188 2852 2328 R 13.6 0.6 0:00.08 top
8 root 20 0 0 0 0 I 4.5 0.0 0:04.41 rcu_preempt
1 root 20 0 25524 4984 3872 S 0.0 1.0 0:03.10 systemd
Is there perhaps some magic in the client that I'm missing out on?
try "sudo usb-mitm -z" I had to put some special handling in specifically for switch.
The result with sudo usb-mitm -z
is unfortunately the same. I'll see if I can roll back the controller's firmware later today for a little extra testing just in case.
$ sudo usb-mitm -z
Loading plugins from /usr/local/lib/USBProxy/
vendorId=ffffffff
productId=ffffffff
cleaning up /tmp
removing 1
Made directory /tmp/gadget-ayyLdk for gadget
Printing Config data
Strings: 2
DeviceProxy: DeviceProxy_LibUSB
HostProxy: HostProxy_Switch
Vectors: 1
Plugins:
PacketFilter_Switch
Pointer: 1
PacketFilter_Switch::file: 0xb6d73d60
Manufacturer: Nintendo Co., Ltd.
Product: Pro Controller
Serial: 000000000001
*Config(1): 09 02 29 00 01 01 00 a0 fa
Interface(0):
*Alt(0): 09 04 00 00 02 03 00 00 00
HID: 09 21 11 01 00 01 22 cb 00
EP(81): 07 05 81 03 40 00 02
EP(02): 07 05 02 03 40 00 08
[81]: old bInterval: 02
[05]: calculated new bInterval: 81
[02]: old bInterval: 08
[07]: calculated new bInterval: 02
searching in [/tmp/gadget-ayyLdk]
Starting setup writer thread (1447) for EP00.
Starting setup reader thread (1446) for EP00.
Opened EP81
Opened EP02
Starting writer thread (1454) for EP02.
Starting reader thread (1453) for EP02.
Starting writer thread (1452) for EP81.
Starting reader thread (1451) for EP81.
00000000000000000000000001111111111111110111111111111111
11000000100111001110000011110000101011000001000111111110
11000000100111001110000011110000101011000001000111111110
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000011111110111111101111111011111110
00000000000000000000000001111111111111110111111111111111
00000000000000000000000000111111000111111101111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000011111110111111101111111011111110
00000000000000000000000010111111111011111001111110101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000000111111000111111101111100101111
00000000000000000000000000111111000111111101111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000010000000000111111111101111000000001111111
00000000000000000000000001111111111111110111111111111111
00000000000000010000000000111111111101111000000001111111
00000000000000000000000001111111111111110111111111111111
00000000000000010000000000111111111101111000000001111111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000000111111000111111101111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000010111111101011111001111111001111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111101011111001111100101111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111111111110111111111111111
00000000000000000000000000111111111011111001111100101111
00000000000000000000000001111111111111110111111111111111
...
00000000000000000000000001111111111111110111111111111111
00000000000000000000000001111111111111110111111111111111
I will double check on my end, but I had this working with usb-mitm -z.
On Mon, Oct 28, 2019 at 7:48 AM mn1213 notifications@github.com wrote:
The result with sudo usb-mitm -z is unfortunately the same. I'll see if I can roll back the controller's firmware later today for a little extra testing just in case.
$ sudo usb-mitm -z Loading plugins from /usr/local/lib/USBProxy/ vendorId=ffffffff productId=ffffffff cleaning up /tmp removing 1 Made directory /tmp/gadget-ayyLdk for gadget Printing Config data Strings: 2 DeviceProxy: DeviceProxy_LibUSB HostProxy: HostProxy_Switch Vectors: 1 Plugins: PacketFilter_Switch Pointer: 1 PacketFilter_Switch::file: 0xb6d73d60 Manufacturer: Nintendo Co., Ltd. Product: Pro Controller Serial: 000000000001 Config(1): 09 02 29 00 01 01 00 a0 fa Interface(0): Alt(0): 09 04 00 00 02 03 00 00 00 HID: 09 21 11 01 00 01 22 cb 00 EP(81): 07 05 81 03 40 00 02 EP(02): 07 05 02 03 40 00 08 [81]: old bInterval: 02 [05]: calculated new bInterval: 81 [02]: old bInterval: 08 [07]: calculated new bInterval: 02 searching in [/tmp/gadget-ayyLdk] Starting setup writer thread (1447) for EP00. Starting setup reader thread (1446) for EP00. Opened EP81 Opened EP02 Starting writer thread (1454) for EP02. Starting reader thread (1453) for EP02. Starting writer thread (1452) for EP81. Starting reader thread (1451) for EP81. 00000000000000000000000001111111111111110111111111111111 11000000100111001110000011110000101011000001000111111110 11000000100111001110000011110000101011000001000111111110 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000011111110111111101111111011111110 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000011111110111111101111111011111110 00000000000000000000000010111111111011111001111110101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000010000000000111111111101111000000001111111 00000000000000000000000001111111111111110111111111111111 00000000000000010000000000111111111101111000000001111111 00000000000000000000000001111111111111110111111111111111 00000000000000010000000000111111111101111000000001111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000010111111101011111001111111001111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111111011111001111100101111 00000000000000000000000001111111111111110111111111111111 ... 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVV4IDFCUDOJ4TC73JLQQ33TFA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECNEJ7Q#issuecomment-546981118, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVT6XFSDNRMERB2U6I3QQ33TFANCNFSM4JDBYLVQ .
I am assuming you let it run for a little bit? The slowdown when it first starts is normal, but then it should catch up. But it should catch up pretty fast.
On Mon, Oct 28, 2019 at 7:58 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
I will double check on my end, but I had this working with usb-mitm -z.
On Mon, Oct 28, 2019 at 7:48 AM mn1213 notifications@github.com wrote:
The result with sudo usb-mitm -z is unfortunately the same. I'll see if I can roll back the controller's firmware later today for a little extra testing just in case.
$ sudo usb-mitm -z Loading plugins from /usr/local/lib/USBProxy/ vendorId=ffffffff productId=ffffffff cleaning up /tmp removing 1 Made directory /tmp/gadget-ayyLdk for gadget Printing Config data Strings: 2 DeviceProxy: DeviceProxy_LibUSB HostProxy: HostProxy_Switch Vectors: 1 Plugins: PacketFilter_Switch Pointer: 1 PacketFilter_Switch::file: 0xb6d73d60 Manufacturer: Nintendo Co., Ltd. Product: Pro Controller Serial: 000000000001 Config(1): 09 02 29 00 01 01 00 a0 fa Interface(0): Alt(0): 09 04 00 00 02 03 00 00 00 HID: 09 21 11 01 00 01 22 cb 00 EP(81): 07 05 81 03 40 00 02 EP(02): 07 05 02 03 40 00 08 [81]: old bInterval: 02 [05]: calculated new bInterval: 81 [02]: old bInterval: 08 [07]: calculated new bInterval: 02 searching in [/tmp/gadget-ayyLdk] Starting setup writer thread (1447) for EP00. Starting setup reader thread (1446) for EP00. Opened EP81 Opened EP02 Starting writer thread (1454) for EP02. Starting reader thread (1453) for EP02. Starting writer thread (1452) for EP81. Starting reader thread (1451) for EP81. 00000000000000000000000001111111111111110111111111111111 11000000100111001110000011110000101011000001000111111110 11000000100111001110000011110000101011000001000111111110 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000011111110111111101111111011111110 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000011111110111111101111111011111110 00000000000000000000000010111111111011111001111110101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000010000000000111111111101111000000001111111 00000000000000000000000001111111111111110111111111111111 00000000000000010000000000111111111101111000000001111111 00000000000000000000000001111111111111110111111111111111 00000000000000010000000000111111111101111000000001111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111000111111101111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000010111111101011111001111111001111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111101011111001111100101111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111 00000000000000000000000000111111111011111001111100101111 00000000000000000000000001111111111111110111111111111111 ... 00000000000000000000000001111111111111110111111111111111 00000000000000000000000001111111111111110111111111111111
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVV4IDFCUDOJ4TC73JLQQ33TFA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECNEJ7Q#issuecomment-546981118, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVT6XFSDNRMERB2U6I3QQ33TFANCNFSM4JDBYLVQ .
Just for clarity the immediate slowdown is a side effect of fixing the memory leak. So that part is expected, but its supposed to heal itself after a handful of seconds which is what i will look at when I get home from work.
That's right, the situation continues to worsen the longer the proxy is running.
And you are doing this all over SSH?
On Mon, Oct 28, 2019 at 12:07 PM mn1213 notifications@github.com wrote:
That's right, the situation continues to worsen the longer the proxy is running.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVWTTHBN3QHU7N5GMWDQQ42AZA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECOBQPA#issuecomment-547100732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVSKQ4LLP3Y4VWX7AXLQQ42AZANCNFSM4JDBYLVQ .
Is this a Green wired or wireless? We now have a mystery. I can't repro with the latest image on a Green Wired. So we have to figure out where the difference between my setup and your setup is.
Yup, it's a Green Wired that I'm connecting to over SSH. Thinking back to my other issue, we know the label on my controller and instruction manual are different from some others - failing to mention that holding Y boots the controller in DirectInput mode - so my best guess is that it's either a hardware or firmware difference.
The model number on my sticker is 82AA, my manual looks like https://download.8bitdo.com/Manual/Controller/SN30pro-USB/SN30-Pro-USB.pdf, and I'm on the 1.03 firmware found at https://download.8bitdo.com/Firmware/Controller/SN30pro-USB/ (which can be installed by connecting the controller to your PC while holding D-pad Up and extracting the ZIP to the mass storage device that appears).
I will verify my info when I get home
On Tue, Oct 29, 2019, 08:08 mn1213 notifications@github.com wrote:
Yup, it's a Green Wired that I'm connecting to over SSH. Thinking back to my other issue, we know the label on my controller and instruction manual are different from some others - failing to mention that holding Y boots the controller in DirectInput mode - so my best guess is that it's either a hardware or firmware difference.
The model number on my sticker is 82AA, my manual looks like https://download.8bitdo.com/Manual/Controller/SN30pro-USB/SN30-Pro-USB.pdf, and I'm on the 1.03 firmware found at https://download.8bitdo.com/Firmware/Controller/SN30pro-USB/ (which can be installed by connecting the controller to your PC while holding D-pad Up and extracting the ZIP to the mass storage device that appears).
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVUZLSHP72PP2GZQAILQRBGXLA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECQ3NFA#issuecomment-547468948, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXDPVCWRIXATMY4TZTQRBGXLANCNFSM4JDBYLVQ .
That is definitely the same manual I have. I have no sticker with the model on my controller and I will check the firmware when I get home.
On Tue, Oct 29, 2019 at 8:11 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
I will verify my info when I get home
On Tue, Oct 29, 2019, 08:08 mn1213 notifications@github.com wrote:
Yup, it's a Green Wired that I'm connecting to over SSH. Thinking back to my other issue, we know the label on my controller and instruction manual are different from some others - failing to mention that holding Y boots the controller in DirectInput mode - so my best guess is that it's either a hardware or firmware difference.
The model number on my sticker is 82AA, my manual looks like https://download.8bitdo.com/Manual/Controller/SN30pro-USB/SN30-Pro-USB.pdf, and I'm on the 1.03 firmware found at https://download.8bitdo.com/Firmware/Controller/SN30pro-USB/ (which can be installed by connecting the controller to your PC while holding D-pad Up and extracting the ZIP to the mass storage device that appears).
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVUZLSHP72PP2GZQAILQRBGXLA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECQ3NFA#issuecomment-547468948, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXDPVCWRIXATMY4TZTQRBGXLANCNFSM4JDBYLVQ .
Could you give me the startup output of sudo usb-mitm -ldddd?
On Tue, Oct 29, 2019, 08:18 Christopher Mallery < christopher.mallery@gmail.com> wrote:
That is definitely the same manual I have. I have no sticker with the model on my controller and I will check the firmware when I get home.
On Tue, Oct 29, 2019 at 8:11 AM Christopher Mallery < christopher.mallery@gmail.com> wrote:
I will verify my info when I get home
On Tue, Oct 29, 2019, 08:08 mn1213 notifications@github.com wrote:
Yup, it's a Green Wired that I'm connecting to over SSH. Thinking back to my other issue, we know the label on my controller and instruction manual are different from some others - failing to mention that holding Y boots the controller in DirectInput mode - so my best guess is that it's either a hardware or firmware difference.
The model number on my sticker is 82AA, my manual looks like https://download.8bitdo.com/Manual/Controller/SN30pro-USB/SN30-Pro-USB.pdf, and I'm on the 1.03 firmware found at https://download.8bitdo.com/Firmware/Controller/SN30pro-USB/ (which can be installed by connecting the controller to your PC while holding D-pad Up and extracting the ZIP to the mass storage device that appears).
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVUZLSHP72PP2GZQAILQRBGXLA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECQ3NFA#issuecomment-547468948, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVXDPVCWRIXATMY4TZTQRBGXLANCNFSM4JDBYLVQ .
So controller seems to be a newer version that the firmware cannot be updated on and its currently at 1.02. Could be the firmware difference or the difference in version of the controller. Hmmm....what next...
I am winging it on this one, but lets try this. Login as debian and then:
cd USBProxy/src/build git pull git checkout remove_duplicate_code chmod 755 ../tools/git-version-gen.sh sudo make install
then give "sudo usb-mitm -z" a whirl. I am not convinced this will help, but its a test.
Not terribly important, but it seems I remembered the firmware update procedure all wrong.
Back on topic, I dare say you nailed it with the latest commit to the remove_duplicate_code branch. CPU utilization is way down, memory allocation is stable, the controller feels nice and responsive, and it wraps quite nicely inside websocketd for browser-based input logging.
Once again you've been awesome, thanks so much for the help!
Always glad to help!
On Fri, Nov 1, 2019 at 2:46 AM mn1213 notifications@github.com wrote:
Closed #99 https://github.com/zoggins/RetroSpy/issues/99.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/zoggins/RetroSpy/issues/99?email_source=notifications&email_token=AE2CEVSMFMZJGU5GWU6YQKTQRP3IZA5CNFSM4JDBYLV2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOUSVQ2HA#event-2762673436, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2CEVR6EKFZUSSD4BQJ263QRP3IZANCNFSM4JDBYLVQ .
8BitDo SN30 Pro USB (model 82AA) -> Beaglebone Green -> Nintendo Switch
Inputs start out buttery smooth, but become increasingly delayed as time passes. usb-mitm's memory use also climbs as a buffer somewhere appears to get clogged. A similar symptom was documented at https://github.com/usb-tools/USBProxy-legacy/issues/60 in the past.
Repro is simple: Start the proxy and press a few buttons to ensure everything is working as expected. Leave it alone for several minutes and press a few more. It will take seconds to see the result.