aarch64-laptops / build

Build an Linux OS based image
234 stars 55 forks source link

WiFi on Lenovo Yoga C630? #24

Open dtischler opened 5 years ago

dtischler commented 5 years ago

Just curious if there is any chance of the internal WiFi on Lenovo Yoga C630 becoming functional? I can of course use a USB dongle / adapter, was just wondering if its possible to somehow activate the internal to avoid using the dongle. If not, totally understandable, just thought I would ask!

lag-linaro commented 5 years ago

It's a WIP.

We have seen it work, but it crashes and restarts the machine as soon as X is started.

@andersson is working on it, but the process is a bit of a mess at the moment.

RussianNeuroMancer commented 5 years ago

but it crashes and restarts the machine as soon as X is started

Is it any more stable with Wayland session?

dtischler commented 5 years ago

Thanks for the update!

RussianNeuroMancer commented 5 years ago

I got patched kernel compiled and installed, firmware files in place, all four services running, qrtr-lookup report this:

  Service Version Instance Node  Port
        5       1        0    0    55 Wireless Messaging Service
        3       1        0    0    42 Network Access Service
        2       1        0    0    58 Device Management Service
       47       1        0    0    45 <unknown>
       17       1        0    0    32 Specific absorption rate service
       16       2        0    0    61 Location service (~ PDS v2)
       26       1        0    0    48 Wireless data administrative service
       21       1        0    0    22 Modem embedded file system service
       77       1        0    0    64 <unknown>
       29       1        0    0    51 Circuit switched videotelephony service
       22       1        0    0    25 Time service
       18       1        0    0    67 IMS settings service
       49       1        2    0    28 IPA control service
       42       1        0    0    57 Data system determination service
       10       2        0    0    44 Card Application Toolkit service (v2)
       54       1        0    0    31 <unknown>
       68       1        0    0    60 <unknown>
        4       1        0    0    47 Quality Of Service service
     4098       0        0    0    34 <unknown>
       51       1        2    0    21 CoreSight remote tracing service
        8       1        0    0    50 AT service
       41       1        1    0    37 RF radiated performance enhancement service
       23       1        0    0    24 Thermal sensors service
       33       1        0    0    66 IMS application service
       71       1        0    0    53 <unknown>
        9       2        0    0    40 Voice service
       36       1        0    0    27 Persistent device configuration service
       66       1      180    0     1 Service registry notification service
       12       1        0    0    43 Phonebook Management service
       43       2       18    0     4 Subsystem control service
       48       1        0    0    59 <unknown>
        1       1        0    0    46 Wireless Data Service
       74       1        0    0    33 <unknown>
       15       1        0    0    20 Test service
        7       1        0    0    49 Authentication service
       34       1        0    0    36 Coexistence service
       24       1        0    0    23 Thermal mitigation device service
       11       1        0    0    52 User Identity Module service
       55       1        2    0    39 <unknown>
     4096       1        0    1 16389 <unknown>
       14       1        0    1    14 Remote file system service
       64       1        1    1 16388 Service registry locator service

But no signs of WiFi :(

dmesg

rmtfs log:

rmtfs[3449]: [RMTFS storage] request for unknown partition '/boot/modem_fsg_oem_1', rejecting
rmtfs[3449]: [RMTFS storage] request for unknown partition '/boot/modem_fsg_oem_2', rejecting

But I guess this is expected? I also notices that rmtfs service is always hang on attempt to stop/kill it, so I disabled it for now. Btw when I start it manually - it crash Wayland session, but WiFi doesn't start anyway.

monperrus commented 5 years ago

Really cool, thanks for the documentation and kudos to @andersson. I'll try on my NovaGo.

lag-linaro commented 5 years ago

@andersson would you mind taking look at https://github.com/aarch64-laptops/build/issues/24#issuecomment-526301251 above please?

andersson commented 5 years ago
 4096       1        0    1 16389 <unknown>

tqftpserv is running...

   14       1        0    1    14 Remote file system service
   64       1        1    1 16388 Service registry locator service

And so is pd-mapper...

Which means that the modem should try to download the wlanmdsp.mbn from using tqftpserv. Can you double check the logs from tqftpserv?

Note that it seems like you need to have a directory /readwrite that tqftpserv has write permissions to for it to attempt to download the wlan firmware.



But no signs of WiFi :(

No, there should be a ATH10k service listed if the wlan domain is up and running.

dmesg

rmtfs log:

rmtfs[3449]: [RMTFS storage] request for unknown partition '/boot/modem_fsg_oem_1', rejecting
rmtfs[3449]: [RMTFS storage] request for unknown partition '/boot/modem_fsg_oem_2', rejecting

This should be fine, these files are optional - and I have yet to see a device that uses them.

But I guess this is expected?

Yes, the qrtr-lookup listing indicates that the modem is up and running nicely.

I also notices that rmtfs service is always hang on attempt to stop/kill it, so I disabled it for now. Btw when I start it manually - it crash Wayland session, but WiFi doesn't start anyway.

Are you saying that when you start the modem Wayland crashes?

I do see the problem of not being able to stop the modem and I do have the problem that initializing ath10k often results in a similar lockup of the system - with a probability greatly increasing if I start X. But I have yet to figure out the cause of this, the lockups typically indicates unclocked busses or faulty SMMU configuration...

Regards, Bjorn

RussianNeuroMancer commented 5 years ago

Can you double check the logs from tqftpserv?

No errors, just "systemd[1]: Started QRTR TFTP service."

Note that it seems like you need to have a directory /readwrite that tqftpserv has write permissions to for it to attempt to download the wlan firmware.

Yes, this was missing, now ath10k service is listed in qrtr-lookup output:

  Service Version Instance Node  Port
       71       1        0    0    55 <unknown>
        9       2        0    0    42 Voice service
       12       1        0    0    45 Phonebook Management service
       54       1        0    0    32 <unknown>
       69       1        0    0    74 ATH10k WLAN firmware service
        1       1        0    0    48 Wireless Data Service
       74       1        0    0    35 <unknown>
       21       1        0    0    22 Modem embedded file system service
       33       1        0    0    77 IMS application service
       48       1        0    0    64 <unknown>
        7       1        0    0    51 Authentication service
       34       1        0    0    38 Coexistence service
       22       1        0    0    25 Time service
       29       1        0    0    54 Circuit switched videotelephony service
       55       1        2    0    41 <unknown>
       49       1        2    0    28 IPA control service
       16       2        0    0    70 Location service (~ PDS v2)
        5       1        0    0    57 Wireless Messaging Service
        3       1        0    0    44 Network Access Service
       51       1        3    0    73 CoreSight remote tracing service
       47       1        0    0    47 <unknown>
       17       1        0    0    34 Specific absorption rate service
       51       1        2    0    21 CoreSight remote tracing service
       26       1        0    0    50 Wireless data administrative service
       23       1        0    0    24 Thermal sensors service
       11       1        0    0    53 User Identity Module service
       36       1        0    0    27 Persistent device configuration service
       66       1      180    0     1 Service registry notification service
       43       2       18    0     4 Subsystem control service
       42       1        0    0    59 Data system determination service
       10       2        0    0    46 Card Application Toolkit service (v2)
       15       1        0    0    20 Test service
       77       1        0    0    75 <unknown>
        2       1        0    0    62 Device Management Service
        4       1        0    0    49 Quality Of Service service
     4098       0        0    0    36 <unknown>
       24       1        0    0    23 Thermal mitigation device service
       18       1        0    0    78 IMS settings service
       68       1        0    0    65 <unknown>
        8       1        0    0    52 AT service
       41       1        1    0    39 RF radiated performance enhancement service
     4096       1        0    1 16389 <unknown>
       14       1        0    1    14 Remote file system service
       64       1        1    1 16388 Service registry locator service

Are you saying that when you start the modem Wayland crashes?

Yes, this happened once, but I can't reproduce this anymore. (Maybe because now there is /readwrite directory?)

Currently starting rmtfs.service doesn't crash Wayland session, but now ath10k_snoc trying to load board-2.bin and unfortunately fail:

[  225.688757] remoteproc remoteproc2: powering up 4080000.remoteproc
[  225.692889] remoteproc remoteproc2: Booting fw image qcom/c630/qcdsp1v2850.mbn, size 242400
[  226.566053] qcom-q6v5-mss 4080000.remoteproc: MBA booted, loading mpss
[  228.212481] remoteproc remoteproc2: remote processor 4080000.remoteproc is now up
[  229.210709] ath10k_snoc 18800000.wifi: qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001
[  229.210719] ath10k_snoc 18800000.wifi: qmi fw_version 0x210f848c fw_build_timestamp 2018-08-31 06:51 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.2.1-01164-QCAHLSWMTPLZ-1
[  229.220271] ath10k_snoc 18800000.wifi: failed to fetch board data for bus=snoc,qmi-board-id=ff from ath10k/WCN3990/hw1.0/board-2.bin
[  229.220296] ath10k_snoc 18800000.wifi: failed to find board file fw entry
[  229.220303] ath10k_snoc 18800000.wifi: failed to fetch board-2.bin or board.bin from ath10k/WCN3990/hw1.0

full dmesg

Maybe using published board-2.bin was bad idea? I tried to build my own, fetched files from Windows partition (in my case there was also bdwlan.b31 not mentioned in WiFi manual, and checksum of bdwlan.bin is different from published file) adjusted board-2.json to include bdwlan.b31, run make-board-2.bin.sh, moved new board-2.bin to /lib/firmware/ath10k/WCN3990/hw1.0/ but still same error:

[ 1159.261365] remoteproc remoteproc1: powering up 4080000.remoteproc
[ 1159.265810] remoteproc remoteproc1: Booting fw image qcom/c630/qcdsp1v2850.mbn, size 242400
[ 1160.144816] qcom-q6v5-mss 4080000.remoteproc: MBA booted, loading mpss
[ 1161.835329] remoteproc remoteproc1: remote processor 4080000.remoteproc is now up
[ 1162.833681] ath10k_snoc 18800000.wifi: qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001
[ 1162.833690] ath10k_snoc 18800000.wifi: qmi fw_version 0x210f848c fw_build_timestamp 2018-08-31 06:51 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.2.1-01164-QCAHLSWMTPLZ-1
[ 1162.833984] ath10k_snoc 18800000.wifi: failed to fetch board data for bus=snoc,qmi-board-id=ff from ath10k/WCN3990/hw1.0/board-2.bin
[ 1162.834013] ath10k_snoc 18800000.wifi: failed to find board file fw entry
[ 1162.834020] ath10k_snoc 18800000.wifi: failed to fetch board-2.bin or board.bin from ath10k/WCN3990/hw1.0

Is it possible to publish board-2.bin that works for you? Or my hw revision somehow different?

dmelgar commented 5 years ago

Is there any help needed or that could easily be provided to help get this going? Does the driver exist and its a matter of kernel configuration and testing?

rhenwood-arm commented 5 years ago

@dmelgar : I believe the are some technical issues that are blocking progress at the moment. In the mean time, you can explore (an possibly improve?) the current unstable wifi HOWTO here: https://github.com/aarch64-laptops/build/blob/master/misc/lenovo-yoga-c630/wifi/README.md

dmelgar commented 5 years ago

@rhenwood-arm I've gone through the steps. Cloned the referenced kernel, applied the patches. Was able to build the kernel using instructions in the referenced kernel repo. However, following the instructions in the HOWTO, first ccache make... command fails. Error: kernelrelease not valid - run 'make prepare' to update it and a little while later /home/dmelgar/yoga/linux is not clean, please run 'make mrproper'

Is this the proper place to discuss?

rhenwood-arm commented 5 years ago

This is probably a good place to discuss. IRC is pretty active as well.

RussianNeuroMancer commented 5 years ago

@dmelgar check if patches you want to apply is already in gpu branch. As far I remember this stuff was merged here. If it really was - then you can just use published deb packages with experimental gpu support. Be advised that you need to do so on Ubuntu 19.10, as Mesa from 19.04 doesn't work well with this kernel.

lag-linaro commented 5 years ago

@dmelgar what happened when you ran make mrproper

For further assistance, please provide your full log.

RussianNeuroMancer commented 4 years ago

@rhenwood-arm I seen you mentioned "wifi, also wasn't working (although I have found it to be quite reliable on my 5.3 kernel recently.)" - if possible, could you publish firmware files you used to get wifi working on 5.3?

rhenwood-arm commented 4 years ago

Yes. To extract the firmware, I used the from my friend Celliwig, here:

https://github.com/Celliwig/Lenovo-Yoga-c630/tree/master/yoga_fw_extract

Feedback is welcome,

Best regards, Richard

Get Outlook for Androidhttps://aka.ms/ghei36


From: RussianNeuroMancer notifications@github.com Sent: Monday, December 16, 2019 8:41:55 PM To: aarch64-laptops/build build@noreply.github.com Cc: Richard Henwood Richard.Henwood@arm.com; Mention mention@noreply.github.com Subject: Re: [aarch64-laptops/build] WiFi on Lenovo Yoga C630? (#24)

@rhenwood-armhttps://github.com/rhenwood-arm I seen you mentioned https://lists.linaro.org/pipermail/aarch64-laptops/2019-December/000154.html "wifi, also wasn't working (although I have found it to be quite reliable on my 5.3 kernel recently.)" - if possible, could you publish firmware files you used yo get wifi working on 5.3?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/aarch64-laptops/build/issues/24?email_source=notifications&email_token=AGD25YTJSJ6JVO4GWHNH3TTQZA37HA5CNFSM4IPJOKMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHA6CTI#issuecomment-566354253, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGD25YTVJYYBU3XJC2S6VBTQZA37HANCNFSM4IPJOKMA.

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

RussianNeuroMancer commented 4 years ago

@rhenwood-arm unfortunately this script still build board-2.bin in the same way I already tried, by running exactly same code. ath10k_snoc does not start with board-2.bin that generated from firmware files I have, as you can see here.

What I need is board-2.bin that works for you. Can you upload it somewhere, please?

rhenwood-arm commented 4 years ago

@RussianNeuroMancer: Celliwig's build code is not exactly identical to the original code from here. When you built board-2.bin, did you change the ID code from 0x00 to 0xFF?

RussianNeuroMancer commented 4 years ago

@rhenwood-arm yes, I missed this, thanks! Now attempt to start rmtfs service either cause Gnome Shell Wayland freeze or laptop reboot, like @lag-linaro mentioned here. If rmtfs service enabled, then laptop always reboot on gdm3 start. I running Linux 5.3.2 with patches from this tree.

Did you used gpu patches on your 5.3 builds? Or maybe some ath10 patches that improve stability?

RussianNeuroMancer commented 4 years ago

Got WiFi working by following this manual: https://github.com/Celliwig/Lenovo-Yoga-c630-packages

So most likely latest culprit in my case was gpu patches.

RussianNeuroMancer commented 4 years ago

attempt to start rmtfs service either cause Gnome Shell Wayland freeze or laptop reboot, like @lag-linaro mentioned here. If rmtfs service enabled, then laptop always reboot on gdm3 start.

@lag-linaro

We have seen it work, but it crashes and restarts the machine as soon as X is started.

On Ubuntu 20.04 situation is vastly improved. After upgrade to 20.04, installing initramfs-tools-firmware package and qmi-svc package I been using exactly same kernel as before, yet adreno and ath10k_snoc works together, and most of the time there is no "restart bug" I quoted above (except two times this bug did happen on this combination of packages, but reboot on graphical session start is exception now, not the rule).

I am not sure what cause this improvement, maybe newer linux-firmware package, maybe newer mesa, or maybe usage of @Celliwig initramfs-tools-firmware package, but definitely not the kernel - it's exactly same as before.

Here is glxinfo output and part of dmesg from my current session:

~$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: freedreno (0x5143)
    Device: FD630 (0xffffffff)
    Version: 20.0.0
    Accelerated: yes
    Video memory: 10MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 3.1
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: freedreno
OpenGL renderer string: FD630
OpenGL core profile version string: 3.1 Mesa 20.0.0
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)

OpenGL version string: 3.1 Mesa 20.0.0
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.0.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
[    6.052966] ath10k_snoc 18800000.wifi: Adding to iommu group 3
[   10.160610] ath10k_snoc 18800000.wifi: qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001
[   10.160615] ath10k_snoc 18800000.wifi: qmi fw_version 0x210e8458 fw_build_timestamp 2018-08-29 21:06 fw_build_id QC_IMAGE_VERSION_STRING=CI_WLAN.HL.2.1-01112.1-QCAHLSWMTPLZ-12
[   13.824929] ath10k_snoc 18800000.wifi: wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000
[   13.824952] ath10k_snoc 18800000.wifi: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
[   13.824970] ath10k_snoc 18800000.wifi: firmware ver  api 5 features wowlan,mgmt-tx-by-reference,non-bmi crc32 b3d4b790
[   13.852737] ath10k_snoc 18800000.wifi: unsupported HTC service id: 1536
[   13.881174] ath10k_snoc 18800000.wifi: htt-ver 3.50 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1
[   13.951685] ath10k_snoc 18800000.wifi: invalid MAC address; choosing random
Feb 23 16:10:56 laptop1 NetworkManager[2770]: <info>  [1582445456.6260] rfkill0: found Wi-Fi radio killswitch (at /sys/devices/platform/soc/18800000.wifi/ieee80211/phy0/rfkill0) (driver ath10k_snoc)
[   14.133969] ath10k_snoc 18800000.wifi: unsupported HTC service id: 1536

If anyone want give it a try, here I published kernel I been using and dtb that include fix for ufs hang. Follow this instructions, but use kernel and dtb from Yandex.Disk (put dtb into /etc/flash-kernel/dtbs before kernel installation).

rhenwood-arm commented 4 years ago

Thanks for this report @RussianNeuroMancer : I will update to 20.04 when I get some time :)

andersson commented 4 years ago

FWIW, I've published the 5.5-based branch I'm currently running on my machine (which I use as my primary laptop these days), here: https://github.com/andersson/kernel/commits/wip/c630-v5.5

It has WiFi, GPU, audio, bluetooth, battery-monitor and brightness controls given that appropriate firmware is provided.

In addition to a recent linux-firmware, the files needed (under /lib/firmware) are: qcom/LENOVO/81JL/qcadsp850.mbn qcom/LENOVO/81JL/qcdsp1v2850.mbn qcom/LENOVO/81JL/qcdsp2850.mbn

qcom/a630_zap.{mdt,b00,b01,b02} extracted from qcdxkmsuc850.mbn (in v5.6, we're consuming the mbn file directly)

For WiFi, the board-2.bin needs to be generated as before (still haven't figured out how to deal with this as the board-id is not filled out by Lenovo). But latest linux-firmware provides the other files needed (in addition to above qcdsp*.mbn). So symlink qcom/LENOVO/81JL/wlanmdsp.mbn ath10k/WCN3990/hw1.0/wlanmdsp.mbn.

The wlanmdsp.mbn found in Windows works, but the one checked into linux-firmware is much more stable.

When I find some time I'll finish up the work and publish a v5.6-rc based branch...

Regards, Bjorn

RussianNeuroMancer commented 4 years ago

@andersson as I understand implemented audio support is specific to C630 and is not expected to work on Miix 630, right?

andersson commented 4 years ago

@RussianNeuroMancer that's correct. The patches in the apr driver will only work on 845 and later targets, that runs the audio firmware in its own protection domain on the audio DSP. The proper patches that implements this in a configurable fashion will hopefully materialize in the coming weeks. Which would allow us to instantiate the relevant alsa drivers on older targets.

But in addition to this there's likely some audio and codec driver code missing, and the dt pieces to bring this all together. Given that we have all the necessary pieces in place for both 8996 and 845, this part should be fairly straight forward though.

RussianNeuroMancer commented 4 years ago

@andersson thanks for explanation! :) I asked because I still not decided what to do with my Lenovo Miix 630 that doesn't show any audio devices in Windows Device Manager, and one month later Lenovo still not provided factory image to their own local service company, so I still can't verify if this is hardware issue.

Also for some reason WiFi doesn't work with kernel from wip/c630-v5.5 tree. If you would like to look into logs - it's in my audio report. On Linux 5.3.2 with patches from gpu tree and on Celliwig's 5.4.0rc7 WiFi works with same firmwares on same setup.

dtischler commented 4 years ago

Quick followup question knowing that there have been steady gains here (accelerated graphics, WiFi, kernel update, etc)... Is there a "ready-made" image available for the Yoga 630, similar to what I used to originally install Ubuntu (courtesy of @rhenwood-arm )? I could use a clean install at this point, and a simply flashing a USB stick with an image would be ideal. If not, I definitely understand. Thought I'd ask!

rhenwood-arm commented 4 years ago

hi @dtischler!

The image I shared with you was @xnox 's installer: https://pskov.surgut.co.uk/bionic/daily-live/current/ . I don't think there is an updated version of that installer - but from that you can update to the latest Ubuntu - or 20.04. @RussianNeuroMancer reports that 20.04 is working better than previous releases. You may also find @Celliwig 's https://github.com/Celliwig/Lenovo-Yoga-c630/tree/master/yoga_fw_extract useful in getting the firmware installed for Wifi, audio etc.

As a general statement, I would expect most of the effort to be towards up-streaming support - so that you won't need a modified installer - you can use the standard 'aarch64' installer. I personally strongly favor this approach over 'special' installers as it is much more sustainable in the medium and long-term.

That said, as a compromise @Celliwig also has an 'install-helper': https://github.com/Celliwig/Lenovo-Yoga-c630/tree/master/install-helper . With his help, I used this tool to the Fedora installer to make it run for me. It expect it could be used to get a more recent Ubuntu installer working? Certainly not straightforward, but my be of interest if you are interested in getting you're hands (very) dirty :)

dtischler commented 4 years ago

Ha, thanks @rhenwood-arm !

This is brilliant, I can absolutely use these to get myself up-to-date!

And, Fedora you say...Interesting...

:-)

NiQ1 commented 4 years ago

FWIW, I've published the 5.5-based branch I'm currently running on my machine (which I use as my primary laptop these days), here: https://github.com/andersson/kernel/commits/wip/c630-v5.5

It has WiFi, GPU, audio, bluetooth, battery-monitor and brightness controls given that appropriate firmware is provided.

In addition to a recent linux-firmware, the files needed (under /lib/firmware) are: qcom/LENOVO/81JL/qcadsp850.mbn qcom/LENOVO/81JL/qcdsp1v2850.mbn qcom/LENOVO/81JL/qcdsp2850.mbn

qcom/a630_zap.{mdt,b00,b01,b02} extracted from qcdxkmsuc850.mbn (in v5.6, we're consuming the mbn file directly)

For WiFi, the board-2.bin needs to be generated as before (still haven't figured out how to deal with this as the board-id is not filled out by Lenovo). But latest linux-firmware provides the other files needed (in addition to above qcdsp*.mbn). So symlink qcom/LENOVO/81JL/wlanmdsp.mbn ath10k/WCN3990/hw1.0/wlanmdsp.mbn.

The wlanmdsp.mbn found in Windows works, but the one checked into linux-firmware is much more stable.

When I find some time I'll finish up the work and publish a v5.6-rc based branch...

Regards, Bjorn

Could I kindly ask you to upload a compiled release? I you don't have the time please could you provide the kernel configuration?

RussianNeuroMancer commented 4 years ago

@andersson just want to let you know that 5.6rc5 and 5.7rc1 not improved situation with WiFi on my setup. Like before, WiFi works on 5.3.2 build (with patches from gpu tree) and Celliwig's 5.4rc7, but not with 5.6rc5 and 5.7rc1.

Linux 5.6rc5 dmesg Linux 5.7rc1 dmesg Moreover, on 5.7rc1 right USB port non-function.

Could I kindly ask you to upload a compiled release?

You can find 5.5.0 here: https://yadi.sk/d/FiLcBs2hszq_Jg Hopefully I didn't forgot anything.

NiQ1 commented 4 years ago

@andersson just want to let you know that 5.6rc5 and 5.7rc1 not improved situation with WiFi on my setup. Like before, WiFi works on 5.3.2 build (with patches from gpu tree) and Celliwig's 5.4rc7, but not with 5.6rc5 and 5.7rc1.

Linux 5.6rc5 dmesg Linux 5.7rc1 dmesg Moreover, on 5.7rc1 right USB port non-function.

Could I kindly ask you to upload a compiled release?

You can find 5.5.0 here: https://yadi.sk/d/FiLcBs2hszq_Jg Hopefully I didn't forgot anything.

I just tried the 5.5 kernel, unfortunately without much success. The system crashes around 30 seconds after booting. When it happens the screen goes completely blank so I'm not really sure how to get any useful logs. I think it may have something to do with the DTB files because it doesn't happen if I boot with acpi=force (but then the WiFi services don't work, I don't know whether this is expected or not).

RussianNeuroMancer commented 4 years ago

but then the WiFi services don't work

So WiFi does work for you when you boot with dtb?

NiQ1 commented 4 years ago

but then the WiFi services don't work

So WiFi does work for you when you boot with dtb?

Unfortunately there's no way to know as the system crashes within a few seconds after booting, there's no way of knowing what works. Also since the screen goes blank when it crashes I can't even pull any meaningful logs :(

lag-linaro commented 4 years ago

Are you sure that it crashes and that it's not just the display regulator being powered down?

If you have a known-working DTB, take a look to see which regulators are marked as:

regulator-always-on

Have you tried booting with:

pd_ignore_unused and clk_ignore_unused

rhenwood-arm commented 4 years ago

I've been directed towards this write up: https://steev.net/content/post/c630/ This might be valuable?

RussianNeuroMancer commented 4 years ago

Finally got GPU, WiFi and Audio working on same kernel. The key was to use kernel with audio support (c630-v5.5) and new firmware locations described by Steev. Still no progress with 5.6/5.7, but at least there is something working :)

If anyone would like to quickly test this, take kernel from "Linux 5.5.0" folder and firmware from "Linux 5.7.1" folder here. There is old UCM in this archive, newer one can be found here (wcd folders) and here but I didn't tested it yet.

bm16ton commented 4 years ago

This is basically the same setup i started with, tho im super appreciative that you responded. On the 5.5.0 kernel i could get some cold boots with sound but it was rare, for sum reason with asound.state set to headphones sound can survive a coldboot 100% of the time. Its not biggy and having to switch between headphone/speakers can be scripted so its no big deal. A patch added in 5.7.6 broke sound but i reverted those changes in my kernel. I also have a write up on getting sound,gps and possibly ipa going in my kernels readme https://github.com/bm16ton/yoga-c630-linux-kernel also i should mention my ucm folder has to be named Lenovo-YOGA-C63 which is strange considering its obviously cutting off part of the model number. I see sum other people have to use folders named Lenovo-YOGA-C630-13Q50 or LENOVO-81JL-LenovoYOGAC630_13Q50-LNVNB161216 . i thought these names came from something like a dmidecode, tho not sure why diff machines produce different results, especially mine with the C630 cut to c63. Also i noticed your qcadsp850.mbn isnt the newest but the second newest,i also had to use the older "dec 2018" firmware on 5.5.0 or id have problems, but that seems to be gone on the 5.7.x series, tho i should probably try the older one again on 5.7

RussianNeuroMancer commented 4 years ago

I also have a write up on getting sound,gps and possibly ipa going in my kernels readme https://github.com/bm16ton/yoga-c630-linux-kernel

Here I found reason why WiFi didn't work for me on kernels above 5.5:

If your upgrading to kernel >=5.6 qrtr-ns service has been moved to the kernel but the lib from the service is still needed. The current version of qrt-ns looks at kernel version disables itself if >=5.6, so if upgrading , upgrade qrtr-ns from https://github.com/andersson/qrtr

I been using qmi-svc deb packaged by @Celliwig which ship slightly older version of qrtr-ns that doesn't have this commit. Update to newer version of qrtr-ns solved this issue and WiFi works for me on Linux 5.7 too.

Also although @bm16ton manual mention "i believe a directory called /readwrite is required along with /readonly/firmware/images" it's seems like this is no longer necessary? At least WiFi works for me without these folders.

RussianNeuroMancer commented 4 years ago

If anyone know workaround for this WiFi issues - please share it: https://github.com/aarch64-laptops/build/issues/51, https://github.com/aarch64-laptops/build/issues/52

RussianNeuroMancer commented 4 years ago

Thanks to @bm16ton workaround for #51 and #52 was found:

https://benbloggt.wordpress.com/2017/04/14/disable-network-scanning-while-being-connected-to-an-ap/ https://blogs.gnome.org/dcbw/2016/05/16/networkmanager-and-wifi-scans/

dylangerdaly commented 2 years ago

Does anyone know what rmts is actually doing? I'm on a 7c platform (nonlte) and rmtfs is required to 'kick' the WiFi remoteproc on.

nonlte SKUs don't have the modem at all, thus there's no NV/rmtfs at all.