diff options
author | Gerhard Roth <gerhard@cvs.openbsd.org> | 2016-11-21 08:19:37 +0000 |
---|---|---|
committer | Gerhard Roth <gerhard@cvs.openbsd.org> | 2016-11-21 08:19:37 +0000 |
commit | 1b3d034976cd7226041228076082d1c75d07c0aa (patch) | |
tree | 480b3859c17218242d79bb61858e5b9f4ecf83bd /sys/dev/usb/if_umb.h | |
parent | 2f79d357541137a60aed93e3dbcef59686f47dba (diff) |
Some MBIM devices need a FCC Authentication before they're willing to
turn on the radio. This is done by encapsulating QMI requests inside
a MBIM message.
Based on prio work by sthen@, tested by Bryan Vyhmeister.
ok sthen@
Diffstat (limited to 'sys/dev/usb/if_umb.h')
-rw-r--r-- | sys/dev/usb/if_umb.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/dev/usb/if_umb.h b/sys/dev/usb/if_umb.h index 79adc02c04b..9ac11f3f53f 100644 --- a/sys/dev/usb/if_umb.h +++ b/sys/dev/usb/if_umb.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_umb.h,v 1.1 2016/06/15 19:39:34 gerhard Exp $ */ +/* $OpenBSD: if_umb.h,v 1.2 2016/11/21 08:19:36 gerhard Exp $ */ /* * Copyright (c) 2016 genua mbH @@ -220,6 +220,7 @@ umb_val2descr(const struct umb_valdescr *vdp, int val) enum umb_state { UMB_S_DOWN = 0, /* interface down */ UMB_S_OPEN, /* MBIM device has been opened */ + UMB_S_CID, /* QMI client id allocated */ UMB_S_RADIO, /* radio is on */ UMB_S_SIMREADY, /* SIM is ready */ UMB_S_ATTACHED, /* packet service is attached */ @@ -228,11 +229,12 @@ enum umb_state { }; #define UMB_INTERNAL_STATE_DESCRIPTIONS { \ - { UMB_S_DOWN, "down" }, \ - { UMB_S_OPEN, "open" }, \ + { UMB_S_DOWN, "down" }, \ + { UMB_S_OPEN, "open" }, \ + { UMB_S_CID, "CID allocated" }, \ { UMB_S_RADIO, "radio on" }, \ { UMB_S_SIMREADY, "SIM is ready" }, \ - { UMB_S_ATTACHED, "attached" }, \ + { UMB_S_ATTACHED, "attached" }, \ { UMB_S_CONNECTED, "connected" }, \ { UMB_S_UP, "up" }, \ { 0, NULL } } @@ -337,6 +339,10 @@ struct umb_softc { int sc_maxpktlen; int sc_maxsessions; +#define UMBFLG_FCC_AUTH_REQUIRED 0x0001 + uint32_t sc_flags; + int sc_cid; + struct usb_task sc_umb_task; struct usb_task sc_get_response_task; int sc_nresp; |