Re: [OpenWrt-Devel] umbim: registration set support

2019-04-10 Thread Bjørn Mork
Petr Štetiar  writes:

>> But is there any chance someone else can push a few patches to umbim.git?
>
> Actually I've missed this patch while going through the patchwork list this
> week, so thank you for the reminder.
>
> I've merged this and the other mbim proxy patch in my staging repo[1] and
> added two more on the top (adding -Wextra compiler check), which I've sent to
> the list for the review just a few moments ago. 
>
> So it would be nice if you could take a look and review them before I'm going
> to bother blogic for his ACK (not strictly necessary, but nice to have) in
> order to push it.

Thanks!

And good luck with the tools discussion.  It's good to know that these
things are on the radar.



Bjørn

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] umbim: registration set support

2019-04-10 Thread Petr Štetiar
Bjørn Mork  [2019-04-09 23:03:56]:


Hi Bjørn,

> Is there anything I or anyone else can do to help here?

sure, for me it's very helpful to have at least some Reviewed-by/Tested-by
tags. In case of Tested-by it's also good to know some details about the test
setup as well (device, settings etc.). This tags helps to prioritize as well.

> There are far too many patches like this one just sitting in patchwork.

It's about 108 patches, some of them already delegated, some of them RFCs,
which makes it down to roughly about 50 patches. There is about 101 PRs on
GitHub and roughly 810 open tasks/issues in Flyspray as well. So yeah, a lot
of work.

> Pull requests on github works really well for the repos there. 

Well, although I'm personally not such big fan of this platform for open
source projects (yeah, we should promote usage of other FS/OSS), it makes
handling of the huge amount of patches much more convenient, so I can live
with that.  Patchwork is nice till you can keep with the pace of new patches,
once there's some backlog it gets awkward.

> That is a problem for a volunteer project. You can't depend on people having
> infinite spare time.  Very few have...

Good tooling could help with missing human resources a lot. I wish the day had
64 hours and we could've something like kernelci.org, i.e. have more automagic
testing and so on.

> But stuff like umbim here, and the other repos only avilable on
> git.openwrt.org, seems to depend on single maintainers.

It might look like that, but from my point of view it's just because
umbim/mbim/uqmi are projects which are domain specific, so probably not so
easy candidates for review, testing and merging. BTW anybody with commit
access can push this patches.

Anyway, I've to admit, that it's really PITA to work in this fragmented
environment (Patchwork, GitHub, Flyspray) and I'm going to bring this topic on
the developer meeting in June.

> But is there any chance someone else can push a few patches to umbim.git?

Actually I've missed this patch while going through the patchwork list this
week, so thank you for the reminder.

I've merged this and the other mbim proxy patch in my staging repo[1] and
added two more on the top (adding -Wextra compiler check), which I've sent to
the list for the review just a few moments ago. 

So it would be nice if you could take a look and review them before I'm going
to bother blogic for his ACK (not strictly necessary, but nice to have) in
order to push it.

Thanks.

1. https://github.com/ynezz/umbim/tree/staging

-- ynezz

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] umbim: registration set support

2019-04-09 Thread Bjørn Mork
Bjørn Mork  writes:
> Ingo Feinerer  writes:
>
>> anyone willing to review/commit this diff?
>>
>> http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015445.html
>> http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015444.html
>
>
> I assume John is very busy based on currently observed activity.  So you
> may have to be patient...
>
> The patch is registered in patchwork, so it's safely queued and will not
> be lost: http://patchwork.ozlabs.org/patch/1022983/

Is there anything I or anyone else can do to help here?

There are far too many patches like this one just sitting in patchwork.
Pull requests on github works really well for the repos there. Thanks a
lot to all the hard working reviewers/committers! But stuff like umbim
here, and the other repos only avilable on git.openwrt.org, seems to
depend on single maintainers. That is a problem for a volunteer
project. You can't depend on people having infinite spare time.  Very
few have...

Definitely not blaming anyone for lack of time. But is there any chance
someone else can push a few patches to umbim.git?  And maybe look
through patchwork for anything else currently falling through the
cracks?


Thanks,

Bjørn





___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] umbim: registration set support

2019-02-14 Thread Bjørn Mork
Ingo Feinerer  writes:

> anyone willing to review/commit this diff?
>
> http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015445.html
> http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015444.html


I assume John is very busy based on currently observed activity.  So you
may have to be patient...

The patch is registered in patchwork, so it's safely queued and will not
be lost: http://patchwork.ozlabs.org/patch/1022983/

FWIW, your patch looks good to me.  It could probably be improved with
actual argument parsing, maybe allowing setting MBIM_REGISTER_ACTION_MANUAL too.
But I see no reason why that can't be added in a later followup if/when
someone actually needs it.

My test modem (EM7455) defaults to auto, so there isn't much difference
in the result with and without your patch.  But just to display the SET
vs QUERY:


bjorn@miraculix:~$ umbim -v -d /dev/cdc-wdm0 -n -t 42 registration auto
sending (64): 03 00 00 00 40 00 00 00 2a 00 00 00 01 00 00 00 00 00 00 00 a2 89 
cc 33 bc bb 8b 4f b6 b0 13 3e c2 aa e6 df 09 00 00 00 01 00 00 00 10 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  header_type: 0003
  header_length: 0040
  header_transaction: 002A
reading (124): 03 00 00 80 7c 00 00 00 2a 00 00 00 01 00 00 00 00 00 00 00 a2 
89 cc 33 bc bb 8b 4f b6 b0 13 3e c2 aa e6 df 09 00 00 00 00 00 00 00 4c 00 00 
00 00 00 00 00 03 00 00 00 01 00 00 00 20 00 00 00 01 00 00 00 30 00 00 00 0a 
00 00 00 3c 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 32 00 34 
00 32 00 30 00 31 00 00 00 54 00 45 00 4c 00 45 00 4e 00 4f 00 52 00 00 00 
  header_type: 8003
  header_length: 007C
  header_transaction: 002A
  command_id: 0009
  status_code: 
  nwerror:  - unknown
  registerstate: 0003 - home
  registermode: 0001 - automatic
  availabledataclasses: 0020 - lte
  currentcellularclass: 0001 - gsm
  provider_id: 24201
  provider_name: TELENOR
  roamingtext: (null)

bjorn@miraculix:~$ umbim -v -d /dev/cdc-wdm0 -n -t 42 registration
sending (48): 03 00 00 00 30 00 00 00 2a 00 00 00 01 00 00 00 00 00 00 00 a2 89 
cc 33 bc bb 8b 4f b6 b0 13 3e c2 aa e6 df 09 00 00 00 00 00 00 00 00 00 00 00 
  header_type: 0003
  header_length: 0030
  header_transaction: 002A
reading (124): 03 00 00 80 7c 00 00 00 2a 00 00 00 01 00 00 00 00 00 00 00 a2 
89 cc 33 bc bb 8b 4f b6 b0 13 3e c2 aa e6 df 09 00 00 00 00 00 00 00 4c 00 00 
00 00 00 00 00 03 00 00 00 01 00 00 00 20 00 00 00 01 00 00 00 30 00 00 00 0a 
00 00 00 3c 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 32 00 34 
00 32 00 30 00 31 00 00 00 54 00 45 00 4c 00 45 00 4e 00 4f 00 52 00 00 00 
  header_type: 8003
  header_length: 007C
  header_transaction: 002A
  command_id: 0009
  status_code: 
  nwerror:  - unknown
  registerstate: 0003 - home
  registermode: 0001 - automatic
  availabledataclasses: 0020 - lte
  currentcellularclass: 0001 - gsm
  provider_id: 24201
  provider_name: TELENOR
  roamingtext: (null)


Don't know if the OpenWrt patchworks collects these, but in case it does:

Reviewed-by: Bjørn Mork 



Bjørn

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] umbim: registration set support

2019-02-13 Thread Ingo Feinerer
Hi,

anyone willing to review/commit this diff?

http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015445.html
http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015444.html

Thank you.

Best regards,
Ingo

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] umbim: registration set support

2019-01-10 Thread Ingo Feinerer
Hi,

this mail gives a detailed background explanation and motivation for the patch
"[PATCH] umbim: add registration set support" (the analysis is probably too
lengthy to be included as a commit message).

I am using a Medion S4222 (MediaTek OEM) USB stick and it failed to
connect in OpenWrt:

# umbim -n -d /dev/cdc-wdm0 connect "drei.at"
sending (124): 03 00 00 00 7c 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 a2 
89 cc 33 bc bb 8b 4f b6 b0 13 3e c2
aa e6 df 0c 00 00 00 01 00 00 00 4c 00 00 00 00 00 00 00 01 00 00 00 3c 00 00 
00 0e 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e 5e 2a 7e 4e 
6f 72 72 73 6b 65 6e 7e 5e 2a 7e 64
00 72 00 65 00 69 00 2e 00 61 00 74 00 00 00
  header_type: 0003
  header_length: 007C
  header_transaction: 0007
reading (48): 03 00 00 80 30 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 a2 89 
cc 33 bc bb 8b 4f b6 b0 13 3e c2 aa
e6 df 0c 00 00 00 07 00 00 00 00 00 00 00
  header_type: 8003
  header_length: 0030
  header_transaction: 0007
  command_id: 000C
  status_code: 0007

According to the MBIM specification the status code means:

MBIM_STATUS_NOT_REGISTERED 7
The operation failed because the device is not registered with any network.

Unfortunately, just calling the registration function in query mode
before the connect attempt is not enough in my setup:

# umbim -n -d /dev/cdc-wdm0 registration
  nwerror:  - unknown
  registerstate: 0004 - roaming
  registermode: 0001 - automatic
  availabledataclasses: 0018 - (null)
  currentcellularclass: 0001 - gsm
  provider_id: 23205
  provider_name: 23205
  roamingtext: (null)

With the new function the connect method succeeds and gives me a working
IPv4 address.

# umbim -n -d /dev/cdc-wdm0 registration automatic
  nwerror:  - unknown
  registerstate: 0003 - home
  registermode: 0001 - automatic
  availabledataclasses: 0018 - (null)
  currentcellularclass: 0001 - gsm
  provider_id: 23210
  provider_name: 23210
  roamingtext: (null)

As you see the registerstate is now "home" and there was a mobile
network code change (23205 -> 23210).

The MBIM specification mentions that both manual and automatic
registration could be possible. I only implemented automatic; this seems
to be in line with what mbimcli supports (--register-automatic); see
https://manpages.debian.org/stretch/libmbim-utils/mbimcli.1.en.html. I
assume that any argument (_argc > 0) triggers the setter so that the
call could look like

umbim ... registration automatic
or
umbim ... registration on

and allows one to extended it later for manual setting with additional
arguments for the manual registration process.

As the existing call convention (i.e., no arguments) is not modified
existing scripts (like /lib/netifd/proto/mbim.sh in OpenWrt) still
work without adaption.

Note that

rs->registeraction = htole32(MBIM_REGISTER_ACTION_AUTOMATIC)

is redundant as MBIM_REGISTER_ACTION_AUTOMATIC is defined as 0 (and the
whole buffer is memset to zero before) but I thought it is clearer for the
reader.

Thanks a lot for consideration!

Best regards,
Ingo


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel