Passing through USB serial to bhyve VM

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Passing through USB serial to bhyve VM

Stefan Bethke-2
I’m trying to access a Huawei USB LTE stick from a Bhyve VM like so:
# cat /var/vm/mgmt/mgmt.conf
loader="bhyveload"
cpu=1
memory=256M
network0_type="virtio-net"
network0_switch="lan"
disk0_type="virtio-blk"
disk0_name="disk0"
disk0_dev="sparse-zvol"
uuid="53854567-8358-11e8-9638-000db94be2cc"
network0_mac="58:9c:fc:04:1d:52"
bhyve_options="-lcom2,/dev/cuaU0“

On the host, I can connect ppp(8), but inside the VM, ppp(8) appears not to be able to talk to the USB device. Using cu(1), I can talk to it just fine though. I’m not sure how to debug this further. Is this supposed to just work, or am I missing some obvious configuration bit?

[root@mgmt ~]# cu -l cuau1 -s 115200
Connected
ATZ
OK
ATI
Manufacturer: huawei
Model: E3272
Revision: 22.436.07.02.1202
IMEI: 867503015nnnnnn
+GCAP: +CGSM,+DS,+ES

OK
~
[EOT]
[root@mgmt ~]# ppp
Working in interactive mode
Using interface: tun0
Phase: PPP Started (interactive mode).
ppp ON mgmt> dial
Phase: bundle: Establish
Phase: deflink: closed -> opening
Phase: deflink: Connected!
Phase: deflink: opening -> dial
Chat: deflink: Dial attempt 1 of 1
ppp ON mgmt> Chat: Send: ATZ
Chat: Expect(5): OK
Chat: Expect timeout
Chat: Send: ATZ
Chat: Expect(5): OK
Chat: Expect timeout
Warning: Chat script failed
Phase: deflink: dial -> hangup
Phase: deflink: Disconnected!
Phase: deflink: Connect time: 11 secs: 0 octets in, 0 octets out
Phase: deflink: 0 packets in, 0 packets out
Phase:  total 0 bytes/sec, peak 0 bytes/sec on Wed Jul 11 21:14:43 2018
Phase: deflink: hangup -> closed
Phase: bundle: Dead
ppp ON mgmt> quit
[root@mgmt ~]# cat /etc/ppp/ppp.conf
default:
    enable dns
    set log local LCP IPCP Phase Chat
        set log all
    set timeout 0
    ident UMTS
    set authname eplus
    set authkey internet
    set cd off
    set device /dev/cuau1
    set speed 115200
    set dial "ABORT BUSY ABORT NO\\sCARRIER \
        ABORT VOICE ABORT NO\\sDIALTONE ABORT NO\\sDIAL\\sTONE ABORT ERROR \
        ABORT NO\\sANSWER ABORT DELAYED TIMEOUT 5 \
        \"\" ATZ OK-ATZ-OK \
        AT+CFUN=1 OK \
        AT+CREG? OK \
        AT+COPS? OK \
        AT+CSQ OK \
        AT^HCSQ? OK \
        AT+cgdcont=1,\\\"IP\\\",\\\"internet.eplus.de\\\" OK \
        ATDT*99***1# CONNECT"
    set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
    add default HISADDR


Stefan

--
Stefan Bethke <[hidden email]>   Fon +49 151 14070811


_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Passing through USB serial to bhyve VM

Stefan Bethke-2
It’s been a while since I last dealt with serial devices. Apparently, when passing through a serial device on the host to a COM port in the VM, CTS/RTS are not (correctly) passed through. With
    set ctsrts off
in ppp.conf I could get ppp to dial successfully.


Stefan

> Am 11.07.2018 um 19:22 schrieb Stefan Bethke <[hidden email]>:
>
> I’m trying to access a Huawei USB LTE stick from a Bhyve VM like so:
> # cat /var/vm/mgmt/mgmt.conf
> loader="bhyveload"
> cpu=1
> memory=256M
> network0_type="virtio-net"
> network0_switch="lan"
> disk0_type="virtio-blk"
> disk0_name="disk0"
> disk0_dev="sparse-zvol"
> uuid="53854567-8358-11e8-9638-000db94be2cc"
> network0_mac="58:9c:fc:04:1d:52"
> bhyve_options="-lcom2,/dev/cuaU0“
>
> On the host, I can connect ppp(8), but inside the VM, ppp(8) appears not to be able to talk to the USB device. Using cu(1), I can talk to it just fine though. I’m not sure how to debug this further. Is this supposed to just work, or am I missing some obvious configuration bit?
>
> [root@mgmt ~]# cu -l cuau1 -s 115200
> Connected
> ATZ
> OK
> ATI
> Manufacturer: huawei
> Model: E3272
> Revision: 22.436.07.02.1202
> IMEI: 867503015nnnnnn
> +GCAP: +CGSM,+DS,+ES
>
> OK
> ~
> [EOT]
> [root@mgmt ~]# ppp
> Working in interactive mode
> Using interface: tun0
> Phase: PPP Started (interactive mode).
> ppp ON mgmt> dial
> Phase: bundle: Establish
> Phase: deflink: closed -> opening
> Phase: deflink: Connected!
> Phase: deflink: opening -> dial
> Chat: deflink: Dial attempt 1 of 1
> ppp ON mgmt> Chat: Send: ATZ
> Chat: Expect(5): OK
> Chat: Expect timeout
> Chat: Send: ATZ
> Chat: Expect(5): OK
> Chat: Expect timeout
> Warning: Chat script failed
> Phase: deflink: dial -> hangup
> Phase: deflink: Disconnected!
> Phase: deflink: Connect time: 11 secs: 0 octets in, 0 octets out
> Phase: deflink: 0 packets in, 0 packets out
> Phase:  total 0 bytes/sec, peak 0 bytes/sec on Wed Jul 11 21:14:43 2018
> Phase: deflink: hangup -> closed
> Phase: bundle: Dead
> ppp ON mgmt> quit
> [root@mgmt ~]# cat /etc/ppp/ppp.conf
> default:
>    enable dns
>    set log local LCP IPCP Phase Chat
> set log all
>    set timeout 0
>    ident UMTS
>    set authname eplus
>    set authkey internet
>    set cd off
>    set device /dev/cuau1
>    set speed 115200
>    set dial "ABORT BUSY ABORT NO\\sCARRIER \
>        ABORT VOICE ABORT NO\\sDIALTONE ABORT NO\\sDIAL\\sTONE ABORT ERROR \
>        ABORT NO\\sANSWER ABORT DELAYED TIMEOUT 5 \
>        \"\" ATZ OK-ATZ-OK \
>        AT+CFUN=1 OK \
>        AT+CREG? OK \
>        AT+COPS? OK \
>        AT+CSQ OK \
> AT^HCSQ? OK \
>        AT+cgdcont=1,\\\"IP\\\",\\\"internet.eplus.de\\\" OK \
>        ATDT*99***1# CONNECT"
>    set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
>    add default HISADDR
>
>
> Stefan
>
> --
> Stefan Bethke <[hidden email]>   Fon +49 151 14070811
>
>
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "[hidden email]"

--
Stefan Bethke <[hidden email]>   Fon +49 151 14070811


_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Passing through USB serial to bhyve VM

Stefan Bethke-2
FWIW, I’ve opened a bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229712

> Am 11.07.2018 um 23:41 schrieb Stefan Bethke <[hidden email]>:
>
> It’s been a while since I last dealt with serial devices. Apparently, when passing through a serial device on the host to a COM port in the VM, CTS/RTS are not (correctly) passed through. With
>    set ctsrts off
> in ppp.conf I could get ppp to dial successfully.
>
>
> Stefan
>
>> Am 11.07.2018 um 19:22 schrieb Stefan Bethke <[hidden email]>:
>>
>> I’m trying to access a Huawei USB LTE stick from a Bhyve VM like so:
>> # cat /var/vm/mgmt/mgmt.conf
>> loader="bhyveload"
>> cpu=1
>> memory=256M
>> network0_type="virtio-net"
>> network0_switch="lan"
>> disk0_type="virtio-blk"
>> disk0_name="disk0"
>> disk0_dev="sparse-zvol"
>> uuid="53854567-8358-11e8-9638-000db94be2cc"
>> network0_mac="58:9c:fc:04:1d:52"
>> bhyve_options="-lcom2,/dev/cuaU0“
>>
>> On the host, I can connect ppp(8), but inside the VM, ppp(8) appears not to be able to talk to the USB device. Using cu(1), I can talk to it just fine though. I’m not sure how to debug this further. Is this supposed to just work, or am I missing some obvious configuration bit?
>>
>> [root@mgmt ~]# cu -l cuau1 -s 115200
>> Connected
>> ATZ
>> OK
>> ATI
>> Manufacturer: huawei
>> Model: E3272
>> Revision: 22.436.07.02.1202
>> IMEI: 867503015nnnnnn
>> +GCAP: +CGSM,+DS,+ES
>>
>> OK
>> ~
>> [EOT]
>> [root@mgmt ~]# ppp
>> Working in interactive mode
>> Using interface: tun0
>> Phase: PPP Started (interactive mode).
>> ppp ON mgmt> dial
>> Phase: bundle: Establish
>> Phase: deflink: closed -> opening
>> Phase: deflink: Connected!
>> Phase: deflink: opening -> dial
>> Chat: deflink: Dial attempt 1 of 1
>> ppp ON mgmt> Chat: Send: ATZ
>> Chat: Expect(5): OK
>> Chat: Expect timeout
>> Chat: Send: ATZ
>> Chat: Expect(5): OK
>> Chat: Expect timeout
>> Warning: Chat script failed
>> Phase: deflink: dial -> hangup
>> Phase: deflink: Disconnected!
>> Phase: deflink: Connect time: 11 secs: 0 octets in, 0 octets out
>> Phase: deflink: 0 packets in, 0 packets out
>> Phase:  total 0 bytes/sec, peak 0 bytes/sec on Wed Jul 11 21:14:43 2018
>> Phase: deflink: hangup -> closed
>> Phase: bundle: Dead
>> ppp ON mgmt> quit
>> [root@mgmt ~]# cat /etc/ppp/ppp.conf
>> default:
>>   enable dns
>>   set log local LCP IPCP Phase Chat
>> set log all
>>   set timeout 0
>>   ident UMTS
>>   set authname eplus
>>   set authkey internet
>>   set cd off
>>   set device /dev/cuau1
>>   set speed 115200
>>   set dial "ABORT BUSY ABORT NO\\sCARRIER \
>>       ABORT VOICE ABORT NO\\sDIALTONE ABORT NO\\sDIAL\\sTONE ABORT ERROR \
>>       ABORT NO\\sANSWER ABORT DELAYED TIMEOUT 5 \
>>       \"\" ATZ OK-ATZ-OK \
>>       AT+CFUN=1 OK \
>>       AT+CREG? OK \
>>       AT+COPS? OK \
>>       AT+CSQ OK \
>> AT^HCSQ? OK \
>>       AT+cgdcont=1,\\\"IP\\\",\\\"internet.eplus.de\\\" OK \
>>       ATDT*99***1# CONNECT"
>>   set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
>>   add default HISADDR
>>
>>
>> Stefan
>>
>> --
>> Stefan Bethke <[hidden email]>   Fon +49 151 14070811
>>
>>
>> _______________________________________________
>> [hidden email] mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
>> To unsubscribe, send any mail to "[hidden email]"
>
> --
> Stefan Bethke <[hidden email]>   Fon +49 151 14070811
>
>
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "[hidden email]"

--
Stefan Bethke <[hidden email]>   Fon +49 151 14070811


_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[hidden email]"