I'm attempting to sniff basic USB traffic with the PHYWhisperer, however I get this error when starting ViewSB
ddaly@OPERATOR:~$ viewsb phywhisperer --pattern 45 --mask 255
Process TUIFrontend process:
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/ipc.py", line 124, in _subordinate_process_entry
task.run()
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 307, in run
self.loop.run()
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/main_loop.py", line 287, in run
self._run()
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/main_loop.py", line 385, in _run
self.event_loop.run()
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/main_loop.py", line 790, in run
self._loop()
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/main_loop.py", line 823, in _loop
alarm_callback()
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/main_loop.py", line 173, in cb
callback(self, user_data)
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 270, in <lambda>
self.loop.set_alarm_in(self.BACKGROUND_REFRESH_INTERVAL, lambda _, __ : self.handle_communications())
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 262, in handle_communications
super().handle_communications()
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontend.py", line 218, in handle_communications
self.handle_incoming_packet(packet)
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 284, in handle_incoming_packet
self.loop.process_input(['end', 'a'])
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/main_loop.py", line 513, in process_input
k = self._topmost_widget.keypress(self.screen_size, k)
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/container.py", line 1135, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/container.py", line 2316, in keypress
key = w.keypress((mc,) + size[1:], key)
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 376, in keypress
self.focus_changed()
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 338, in focus_changed
self.focus_changed_callback(focused_node, focused_node.get_value())
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 118, in packet_focus_changed
self.populate_decoder_view(packet)
File "/usr/local/lib/python3.6/dist-packages/viewsb-0.0.1-py3.6.egg/viewsb/frontends/tui.py", line 193, in populate_decoder_view
self.decoder_rows.append(urwid.Text(('header', table_name)))
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/widget.py", line 834, in __init__
self.set_text(markup)
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/widget.py", line 877, in set_text
self._text, self._attrib = decompose_tagmarkup(markup)
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/util.py", line 380, in decompose_tagmarkup
tl, al = _tagmarkup_recurse(tm, None)
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/util.py", line 418, in _tagmarkup_recurse
return _tagmarkup_recurse( element, attr )
File "/usr/local/lib/python3.6/dist-packages/urwid-2.1.1.dev0-py3.6-linux-x86_64.egg/urwid/util.py", line 421, in _tagmarkup_recurse
raise TagMarkupException("Invalid markup element: %r" % tm)
urwid.util.TagMarkupException: Invalid markup element: None
I think this has something to do with the device being a USB 3.0 device, even using the usbmon backend, I get the same error.
I suspected the PHYWhisperer would automatically drop the 3.0 target to 2.0, if this is not the case I may just need to pick up a USB 2.0 hub.