Dear Diego, Thanks for your patches! Please see my comments below.
On Tue, Sep 29, 2020 at 7:24 AM Diego Escalante Urrelo <die...@gnome.org> wrote: > > I've been working on a few improvements to this driver, trying > (hopelessly) to fix the disconnect issues on my particular card + router > combination. Although my original goal has failed miserably, I was able > to figure out a couple of other fixes for common issues with this card. > > I have pushed a branch to salsa, which includes the following fixes: > * Make power management commands actually work (the driver ignores > turning PM off) > * Correctly read the value of TX power (the notorious "200dBm" bug) > * Correctly refuse MAC address changing (fixes network-manager > disconnects because of "random / custom mac address" > * Cleanup a few compiler warnings, and cfg80211 API usage > > The branch is here: > https://salsa.debian.org/diegoe-guest/broadcom-sta/-/commits/diegoe_debian Thanks again for your great work! I haven't reviewed the patches yet, but I built a deb package and tried to install, and found it works well on my macbook. Maybe I can upload a version to experimental later. > While working on the above I also figured that I might as well try to > create a proof of concept "new upstream" without all the cruft from the > 10 years of kernel versions conditionals: > https://salsa.debian.org/diegoe-guest/broadcom-sta/-/commits/frankenwl > > My "frankenwl" branch is functionally the same as the above > "diegoe_debian" branch, but it certainly makes it less convoluted to try > and find problems in the code going forward. That said, I wasn't sure > what would be the best way to proceed, or if it was a smart thing to do > anyway. I guess this package is on "life support" on most distros, so I > doubt there would be a objections on creating a shared new upstream (but > I'm not familiar with the packaging of this driver in Debian, or other > distros). Since the upstream seems not active for quite a few years, so I think it's totally fine if you want to fork. And if you do so, I'm happy to update debian package to follow your forked git repo. > I also tried, naively, to contact cypress/broadcom to inquiry about a > newer firmware blob dump, or just a new code dump. Of course, no > response. I think it's worth highlighting that the kernel bcmf80211 > driver is very similar to the broadcom-sta code, which lead me to > believe that it can work with the cards supported only by broadcom-sta, > we just need the firmware blob and plug the loose ends. Anyway, this is > probably never going to happen, unless someone figures out how to > extract the (say, in my case) BCM4360 software-side firmware blob from > the linux or mac or windows driver. Yes, I understand and agree with you. > Anyway, I wanted to share this work here so it's considered for > inclusion for the upcoming Debian stable. At the very least this solves > a few nitpicks (power settings, tx set/get) that degrade the user > experience and a serious issue (mac address failures) that usually gets > new users stuck and confused (random NM disconnections). > > I'm also aware that cards supported by this driver are "old" but most > computers trapped in the broadcom-sta driver are perfectly functional > today and will be for a few more years. In my particular case I'm > running a macbookpro11,1 (2013) which works flawlessly except for the > wifi! (Hah!) -- And I understand most other macbookpro models from > around 2013 share this or similar Broadcom cards that use this driver. > All those machines should be perfectly functional with Debian right now, > and for a few more years. Yes, I also have two mac devices that use this driver. Thanks for your effort to make the driver better. Cheers, -- Roger Shimizu, GMT +9 Tokyo PGP/GPG: 4096R/6C6ACD6417B3ACB1