That worked with getting the driver to load.  Here is the error I get once 
I have it running:  


weewx@raspberrypi:~ $ sudo PYTHONPATH=/usr/share/weewx python 
/usr/share/weewx/user/interceptor.py --device=wu-client --mode=sniff 
--iface=eth0 --filter="src 192.168.50.9 and dst port 80"                   
                                                                    [sudo] 
password for weewx:
Exception in thread ServerThread:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/share/weewx/user/interceptor.py", line 435, in run_server
    self._server.run()
  File "/usr/share/weewx/user/interceptor.py", line 491, in run
    self.decode_ip_packet(0, pkt, ts)
  File "/usr/share/weewx/user/interceptor.py", line 518, in decode_ip_packet
    (_timestamp, _pktlen, _fmt_bytes(data)))
  File "/usr/share/weewx/user/interceptor.py", line 338, in _fmt_bytes
    return ' '.join(['%02x' % ord(x) for x in data])
  File "/usr/share/weewx/user/interceptor.py", line 338, in <listcomp>
    return ' '.join(['%02x' % ord(x) for x in data])
TypeError: ord() expected string of length 1, but int found

On Monday, April 24, 2023 at 5:48:52 PM UTC-7 vince wrote:

> Tom - buried in his messages were this - note it is a non-privileged 
> installation, so it might very well be what you noted as a potential 
> installation user error.
>
> weewx@raspberrypi:~ $ pip3 list --verbose  | grep pcap
> pypcap            1.3.0     /home/weewx/.local/lib/python3.9/site-packages 
> pip
>
> And earlier he did install as a non-privileged user, not as root
>
> weewx@raspberrypi:~ $ pip3 install pypcap
> Looking in indexes: https://pypi.org/simple, 
> https://www.piwheels.org/simple
> Collecting pypcap
>   Using cached pypcap-1.3.0.tar.gz (140 kB)
> Building wheels for collected packages: pypcap
>   Building wheel for pypcap (setup.py) ... done
>   Created wheel for pypcap: 
> filename=pypcap-1.3.0-cp39-cp39-linux_aarch64.whl size=429390 
> sha256=9518b4a7995ae893c438017a17dbf0d5722b7e338063ba1c94c9187b4c80551a
>   Stored in directory: 
> /home/weewx/.cache/pip/wheels/dd/3f/d4/51ab4f449c379dc65a12d7451f302cc9b388ff44bbc4a61530
> Successfully built pypcap
> Installing collected packages: pypcap
> Successfully installed pypcap-1.3.0
>
> So Michael - you might try "sudo pip3 install pypcap" so it works for root 
> too......
>
> On Monday, April 24, 2023 at 5:28:45 PM UTC-7 vince wrote:
>
>> Tom - what's happening is he's not finding the pcap python module when 
>> running as root, but 'is' finding it when running as a non-privileged user, 
>> so my guess (guess) is there are multiple python interpreters installed, 
>> although he has so many old variants of a pip installed (or attempted 
>> install) pcap that it's really confusing.
>>
>> A vanilla 32-bit raspios running his exact commands works fine, so 
>> there's definitely something in his setup that is hosed up.
>>
>> On Monday, April 24, 2023 at 5:19:49 PM UTC-7 Tom Keffer wrote:
>>
>>> I'm not following this exchange closely, so it's entirely possible I 
>>> don't know what's going on.
>>>
>>> What I will note is that both the shell path and PYTHONPATH are 
>>> completely different if the python interpreter is run with "sudo". If you 
>>> installed pypcap using pip, this could make you vulnerable. 
>>>
>>> But, my comment may be completely irrelevant.
>>>
>>> On Mon, Apr 24, 2023 at 4:06 PM Michael <m.j.za...@gmail.com> wrote:
>>>
>>>>
>>>> 2023-02-21-raspios-bullseye-arm64.img
>>>>
>>>>
>>>> weewx@raspberrypi:~ $ uname -a
>>>> Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 
>>>> 2023 aarch64 GNU/Linux
>>>> weewx@raspberrypi:~ $ which python
>>>> /usr/bin/python
>>>> weewx@raspberrypi:~ $ sudo which python
>>>> [sudo] password for weewx:
>>>> /usr/bin/python
>>>> weewx@raspberrypi:~ $ echo $PATH
>>>>
>>>> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
>>>> weewx@raspberrypi:~ $ sudo bash -c 'echo $PATH'
>>>> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
>>>> weewx@raspberrypi:~ $
>>>> On Monday, April 24, 2023 at 4:00:50 PM UTC-7 vince wrote:
>>>>
>>>>> Lets see the following:
>>>>>
>>>>>    - uname -a
>>>>>
>>>>>
>>>>>    - which python
>>>>>    - sudo which python
>>>>>
>>>>>
>>>>>    - echo $PATH
>>>>>    - sudo bash -c 'echo $PATH'
>>>>>
>>>>>
>>>>> It looks like you're running a 64-bit os perhaps ?  Which one 
>>>>> specifically ?
>>>>>
>>>>> Other than some odd 32-bit vs. 64-bit thing happening, I can only 
>>>>> conclude that you have multiple python3 instances installed and root's 
>>>>> $PATH is picking up the wrong one unless the commands above return 
>>>>> something really odd...
>>>>>
>>>>> On Monday, April 24, 2023 at 3:21:01 PM UTC-7 Michael wrote:
>>>>>
>>>>>> weewx@raspberrypi:~ $ dpkg -l | grep pcap
>>>>>> ii  libpcap0.8:arm64                     1.10.0-2                     
>>>>>>     arm64        system interface for user-level packet capture
>>>>>> ii  libpcap0.8-dev:arm64                 1.10.0-2                     
>>>>>>     arm64        development library and header files for libpcap0.8
>>>>>> weewx@raspberrypi:~ $ pip3 list --verbose  | grep pcap
>>>>>> pypcap            1.3.0     
>>>>>> /home/weewx/.local/lib/python3.9/site-packages pip
>>>>>> weewx@raspberrypi:~ $ python3 -c 'import pcap'
>>>>>> weewx@raspberrypi:~ $ sudo python3 -c 'import pcap'
>>>>>> [sudo] password for weewx:
>>>>>>
>>>>>> Traceback (most recent call last):
>>>>>>   File "<string>", line 1, in <module>
>>>>>> ModuleNotFoundError: No module named 'pcap'
>>>>>>
>>>>>> On Monday, April 24, 2023 at 3:14:33 PM UTC-7 vince wrote:
>>>>>>
>>>>>>> From a clean RaspiOS that works....
>>>>>>>
>>>>>>> pi@pi4jr:~ $ dpkg -l | grep pcap
>>>>>>> ii  libpcap0.8:armhf                     1.10.0-2                   
>>>>>>>       armhf        system interface for user-level packet capture
>>>>>>>
>>>>>>> pi@pi4jr:~ $ pip3 list --verbose  | grep pcap
>>>>>>> pypcap        1.3.0     /usr/local/lib/python3.9/dist-packages pip
>>>>>>>
>>>>>>> pi@pi4jr:~ $ python3 -c 'import pcap'
>>>>>>> pi@pi4jr:~ $ echo $?
>>>>>>> 0
>>>>>>>
>>>>>>> pi@pi4jr:~ $ sudo python3 -c 'import pcap'
>>>>>>> pi@pi4jr:~ $ echo $?
>>>>>>> 0
>>>>>>>
>>>>>>> On Monday, April 24, 2023 at 12:51:47 PM UTC-7 Michael wrote:
>>>>>>>
>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $ python --version
>>>>>>>> Python 3.9.2
>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $ python3 --version
>>>>>>>> Python 3.9.2
>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $ ^C
>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $ sudo 
>>>>>>>> PYTHONPATH=/usr/share/weewx python 
>>>>>>>> /usr/share/weewx/user/interceptor.py 
>>>>>>>> --device=wu-client --mode=sniff --iface=eth0 --filter="src 
>>>>>>>> 192.168.50.9 and 
>>>>>>>> dst port 80"
>>>>>>>> Traceback (most recent call last):
>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 2671, in 
>>>>>>>> <module>
>>>>>>>>     device = 
>>>>>>>> InterceptorDriver.DEVICE_TYPES.get(options.device_type)(
>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 728, in __init__
>>>>>>>>     super(WUClient, self).__init__(
>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 427, in __init__
>>>>>>>>     self._server = Consumer.SniffServer(
>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 466, in __init__
>>>>>>>>     import pcap
>>>>>>>> ModuleNotFoundError: No module named 'pcap'
>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $
>>>>>>>>
>>>>>>>> On Monday, April 24, 2023 at 12:48:18 PM UTC-7 vince wrote:
>>>>>>>>
>>>>>>>>> Again, your python is messed up or you have python (2) and python3 
>>>>>>>>> installed.
>>>>>>>>>
>>>>>>>>> This worked on a clean raspios.  Same as your command just with an 
>>>>>>>>> absolute path to interceptor.py
>>>>>>>>>
>>>>>>>>> sudo PYTHONPATH=/usr/share/weewx python 
>>>>>>>>> /usr/share/weewx/user/interceptor.py --device=wu-client --mode=sniff 
>>>>>>>>> --iface=eth0 --filter="src 192.168.50.9 and dst port 80"
>>>>>>>>>
>>>>>>>>> Try 'python --version' to verify it reports the same thing as 
>>>>>>>>> 'python3 --version'.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Monday, April 24, 2023 at 10:45:31 AM UTC-7 Michael wrote:
>>>>>>>>>
>>>>>>>>>> sudo PYTHONPATH=/usr/share/weewx python interceptor.py 
>>>>>>>>>> --device=wu-client --mode=sniff --iface=eth0 --filter="src 
>>>>>>>>>> 192.168.50.9 and 
>>>>>>>>>> dst port 80"
>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 2671, in 
>>>>>>>>>> <module>
>>>>>>>>>>     device = 
>>>>>>>>>> InterceptorDriver.DEVICE_TYPES.get(options.device_type)(
>>>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 728, in 
>>>>>>>>>> __init__
>>>>>>>>>>     super(WUClient, self).__init__(
>>>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 427, in 
>>>>>>>>>> __init__
>>>>>>>>>>     self._server = Consumer.SniffServer(
>>>>>>>>>>   File "/usr/share/weewx/user/interceptor.py", line 466, in 
>>>>>>>>>> __init__
>>>>>>>>>>     import pcap
>>>>>>>>>> ModuleNotFoundError: No module named 'pcap'
>>>>>>>>>>
>>>>>>>>>> On Monday, April 24, 2023 at 10:36:39 AM UTC-7 vince wrote:
>>>>>>>>>>
>>>>>>>>>>> On Monday, April 24, 2023 at 9:34:36 AM UTC-7 Michael wrote:
>>>>>>>>>>>
>>>>>>>>>>> I am trying to install WeeWx on my Raspi with Interceptor with a 
>>>>>>>>>>> WU-Client coming from 192.168.50.9.  So far I am ending up with the 
>>>>>>>>>>> following error message when trying to run the driver directly and 
>>>>>>>>>>> no 
>>>>>>>>>>> results in WeeWx.  
>>>>>>>>>>>
>>>>>>>>>>> Activateing packet capture failed. Error returned by packet 
>>>>>>>>>>> capture library was b'socket: Operation not permitted'
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> [...omitting waaaaay too many lines.....]
>>>>>>>>>>>
>>>>>>>>>>> Your last command was:
>>>>>>>>>>>
>>>>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $ 
>>>>>>>>>>> PYTHONPATH=/usr/share/weewx python interceptor.py 
>>>>>>>>>>> --device=wu-client 
>>>>>>>>>>> --mode=sniff --iface=eth0 --filter="src 192.168.50.9 and dst port 
>>>>>>>>>>> 80"
>>>>>>>>>>>
>>>>>>>>>>> You need to do that as root. Preface that last command with sudo 
>>>>>>>>>>> so it runs as root.
>>>>>>>>>>>
>>>>>>>>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "weewx-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to weewx-user+...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/weewx-user/e244366f-a6e4-4fc9-ab5b-abe8ad959951n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/weewx-user/e244366f-a6e4-4fc9-ab5b-abe8ad959951n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/b4057e3d-f929-4991-bff9-e56f262c0dban%40googlegroups.com.

Reply via email to