[00:14] <TJ-> having a few 'issues' with pulling it out cleanly
[00:15] <Gr33ntea> if you dont mind me asking what do you mean by pulling it out cleanly? : o
[00:19] <TJ-> To create a Dynamic Kernel Module system package, the driver source and supporting files needs to be extracted from the kernel source as standalone code, so the module will build separately
[00:20] <Gr33ntea> ah gotcha ^_^, if its too much trouble then its okay. I don't want to take away more of your time. you've helped me so much already
[00:37] <TJ-> No, it's me being rusty at it
[00:37] <TJ-> I think I just figured out the issue
[00:39] <Gr33ntea> What was the problem? : o
[00:40] <TJ-> haha me! I'm on 18.04 with kernel 4.15 ... pulled the source from 4.18. in between those versions a lot has changed so a symbol that is used in 4.18 isn't available in 4.15
[00:42] <TJ-> I need to checkout the Ubuntu 4.18.0-8-generic source first
[00:42] <Gr33ntea> LOL, i have to admit its nice knowing ppl way more competent than me also make silly mistakes xD
[00:43] <Bashing-om> TJ-: Beaware of updates in cosmic .. now at 4.18.0-8-10 .
[00:45] <Bashing-om> !info linux-image-generic cosmic
[00:45] <TJ-> Bashing-om: makes no difference :)
[00:46] <TJ-> the module will work on whichever version, once I'm using the correct source :)
[00:46] <Bashing-om> TJ-: :) .. Just checking :P
[00:48] <TJ-> hehehe thanks ... I'm 1/2 asleep I think
[00:49] <TJ-> Just fetching the 4.18.0-8 headers now, luckily they're in bionic-proposed for the HWE kernels
[00:51] <Gr33ntea> TJ-: Im reading your hacking course  : o from ur site. very cool. thank you for posting it.
[00:54] <TJ-> Gr33ntea: which is that!? I start os many things and then go off finding something else to play with!
[00:55] <TJ-> Gr33ntea: right, it built here but fails to install since I don't have that kernel version installed for some reason. I'll install it and just confirm it installs, then I can add your model info and rebuild to confirm and then let you have the code
[00:56] <Gr33ntea> TJ-: The one that can be found here http://iam.tj/projects/hacking/101/index.html I believe its seperated in 3 courses. and okay thank you! I seriously appreciate it, I been trying every forum thread solution for the past 2 days so i really appreciate everything you're doing!
[00:59] <TJ-> Gr33ntea: oh, that! I didn't realise I'd put the intro up there. Must have been sharing it for feedback!
[01:11] <TJ-> Gr33ntea: I need info about your model. Can you show me "pastebinit <( sudo dmidecode -t system )"
[01:11] <Gr33ntea> sure thing! one sec
[01:15] <Gr33ntea> TJ-: hm it tells me im attempting to send an empty document
[01:15] <Gr33ntea> TJ-: lemme try once more
[01:16] <TJ-> hmmm, then try without the "-t system" part.
[01:16] <TJ-> I cannot imagine the system-info is missing though -it better not be!
[01:18] <Gr33ntea> weird i have to run the command without the pastebinit first and then run it again to work
[01:18] <Gr33ntea> http://paste.ubuntu.com/p/rfDqHbfVQB/
[01:18] <Gr33ntea> there it is
[01:23] <TJ-> ha, I thought as much, I could have predicted the format from the Y520 info! "Y530-15ICH" is what I needed
[01:25] <Gr33ntea> Yeah i think the only thing rly different from the 520 is the way it looks xD, and yet they charge more for it
[01:26] <TJ-> right: "cd $HOME/Downloads" then "wget http://iam.tj/projects/ubuntu/ideapad_laptop-dkms.tar.gz"
[01:27] <TJ-> oh, you'll need to move the file to the Y530 of course 
[01:28] <TJ-> There, in the directory where the file is, you do "sudo tar -xf ideapad_laptop-dkms.tar.gz -C /" which will extract to /usr/src/ideapad_laptop-1.1/
[01:29] <TJ-> Remove the module blacklist if it is still there in /etc/modprobe.d/ 
[01:30] <Gr33ntea> gotcha one sec
[01:30] <TJ-> Then use DKMS to build/install the module with "sudo dkms add ideapad_laptop/1.1" then "sudo dkms install ideapad_laptop/1.1" - if all is good you'll see "Installing to /lib/modules/4.18.0-8-generic/updates/dkms/" ... "depmod" ... "DKMS: install completed."  At this point you're ready to reboot and test
[01:32] <TJ-> whilst you play I'll make a cuppa! It's 0230 here
[01:39] <Gr33ntea> TJ-:  no wifi :( gonna check to see if its listed as blocked still
[01:39] <TJ-> hmmm, we'll do some further tests once you've done that
[01:40] <Gr33ntea> yup still listed as blocked
[01:41] <TJ-> also ensure our module took over with "modinfo ideapad_laptop" and check the "filename:" path ends in "updates/ideapad_laptop.ko"
[01:41] <TJ-> or hyphen, not underscore
[01:42] <TJ-> It might be worth adding some debug messages to the module so we know for sure it recognises your model by what I added
[01:42] <Gr33ntea> it ends in updates/dkms/ideapas-lalptop.ko
[01:43] <TJ-> good, that's where DKMS installs the module to, so it is correct.
[01:43] <TJ-> I'll add some debug messages and send you the updated source
[01:43] <Gr33ntea> gotcha
[01:43] <Gr33ntea> also when do you sleep xD, i cant believe its 2 over there id be knocked out
[01:45] <TJ-> Oh, I think I made a mistake
[01:46] <TJ-> I used the same DMI match format as the Y530 which does DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Y520-15IKB"),
[01:47] <TJ-> but it has .ident = "Lenovo Legion Y530-15ICH", (note the "Legion") there
[01:47] <TJ-> Now, the ident is just a friendly name to display, actual matching is done using the DMI_PRODUCT_VERSION, which doesn't have "Legion" in... whereas yours does!
[01:48] <TJ-> From your dmidecode "Version: Lenovo Legion Y530-15ICH"
[01:48] <TJ-> So I suspect I need to change to that, let me do that
[01:49] <TJ-> Done. Re-download it from http://iam.tj/projects/ubuntu/ideapad_laptop-dkms.tar.gz 
[01:49] <Gr33ntea> gotcha
[01:49] <TJ-> You know the rest :)
[01:50] <Gr33ntea> okay one sec, and yup! :)
[01:50] <TJ-> if the match occurs, there should be no rfkill entries for ideapad_wlan etc
[01:50] <Gr33ntea> I should first delete the other folders right?
[01:50] <Gr33ntea> from the first install
[01:50] <TJ-> Nope
[01:51] <Gr33ntea> okie
[01:51] <TJ-> all you need do once the new source is extracted is "sudo dkms remove ideapad_laptop/1.1" then "sudo dkms install ideapad_laptop/1.1"
[01:57] <Gr33ntea> hmsudo dkms remove ideapad_laptop/1.1 gives an error
[01:57] <Gr33ntea> invlaid number of parameters
[01:58] <TJ-> oh, sorry, add " --all" -- that command needs kernel version or --all
[01:58] <Gr33ntea> ah gotcha my bad
[01:59] <Gr33ntea> rebooting
[02:00] <TJ-> it might not require rebooting, which could save some time. It should be possible to unload/load the module using modprobe - depends on what other modules are depending/using it
[02:02] <Gr33ntea> same deal :( no wifi and sill locked
[02:03] <TJ-> rfkill still shows those ideapad nodes?
[02:03] <Gr33ntea> yup
[02:04] <TJ-> From the way I read the source, it inferred those nodes wouldn't show up, or else would be set to enabled. Something weird going on. Can you show me the "pastebinit <( dmesg )" 
[02:06] <Gr33ntea> sorry for the delay http://paste.ubuntu.com/p/qS3653gbcJ/
[02:08] <TJ-> Ha, things have changed! Did you add some parameter for the iwlwifi module? because we have "iwlwifi: unknown parameter 'disable_msix' ignored"
[02:09] <Gr33ntea> that disable_msix thing was actually from a thread solution i had tried yesterday
[02:09] <Gr33ntea> i can try and find the thread
[02:10] <TJ-> in the previous dmesg from earlier, there was "iwlwifi 0000:00:14.3: RF_KILL bit toggled to enable radio." but this time nothing like that
[02:11] <TJ-> the iwlwifi module doesn't have that option. You can check with "modinfo -F parm iwlwifi"
[02:12] <TJ-> I'm going to find out what causes "rfkill: input handler disabled"
[02:13] <Gr33ntea> i found the thread, if its of any help. https://askubuntu.com/questions/1038242/no-wifi-option-on-ubuntu-18-04-and-16-04
[02:14] <Gr33ntea> but yeh i just checked also not there
[02:15] <Gr33ntea> maybe i forgot to type in the =1 part?
[02:15] <Gr33ntea> not sure it seemed to ork for someone
[02:15] <Gr33ntea> should i retry that?
[02:17] <Gr33ntea> also TJ- i just actually checked the forum post i have made about this problem and dmesg does show "[   13.851406] iwlwifi: unknown parameter 'disable_msix' ignored"
[02:18] <TJ-> That option is specific to the iwlwifi-backport source-code. But the issue there was a different to yours. In that one, the iwlwifi module was crashing and generating a stack-trace 
[02:18] <Gr33ntea> ah okie
[02:18] <TJ-> disable_msix means disable Message Signalling Interupt eXtension
[02:20] <TJ-> I thnk at this point you should install that BIOS upgrade
[02:20] <TJ-> Sorry it took me so long to get the module going else you could have got that done earlier!
[02:21] <Gr33ntea> No problem at all! I seriously cannot thank you enough for all this effort you've put
[02:21] <Gr33ntea> I will give the bios upgrade a go then
[02:29] <TJ-> Whilst you do I'm reading the rfkill code in detail
[02:31] <TJ-> I think i've spotted something else that the ideapad_laptop.c needs - I notice for a couple of modules an UUIDis required for the WMI (ACPI) interface. Yours being a new model I'd bet it has one too
[02:32] <TJ-> Without it Linux cannot identify the Fn + Fx key sequences
[02:33] <Gr33ntea> hm but currently the Fn + Fx keys do work in the case of brightness and volume i believe
[02:33] <Gr33ntea> so does tht rule tht out?
[02:37] <Gr33ntea> TJ-: about to test the new bios moment of truth
[02:37] <TJ-> OK
[02:37] <TJ-> ahh, this GUID thing is when the Esc key dones't work and needs Fn + Esc!
[02:38] <Gr33ntea> didnt work D:
[02:38] <Gr33ntea> cruel fate
[02:39] <TJ-> I think this is due to a bug in the firmware ACPI. Do you fancy extracting that so I can analyse it?
[02:41] <Gr33ntea> Hm before we dive into that
[02:42] <Gr33ntea> I just noticed that someone uploaded a guide recently to get Ubuntu onto the y530 
[02:42] <Gr33ntea> looking at tht now
[02:42] <Gr33ntea> https://forums.lenovo.com/t5/Gaming-Laptops-Knowledge-Base/Installing-Ubuntu-18-04-on-the-Legion-Y530/ta-p/4187251
[02:43] <Gr33ntea> hm
[02:43] <Gr33ntea> don't kill me but
[02:43] <Gr33ntea> i think something weird has been going on becuz
[02:44] <Gr33ntea> in his guide he adds the blacklist to the blacklist.conf but when i added the blacklist using the commands that were given it created a it didnt add it to the blacklist.conf
[02:44] <Gr33ntea> the file was still in the same directory just not the same file
[02:45] <Gr33ntea> i hope im making sense
[02:45] <TJ-> let me look
[02:46] <Gr33ntea> sorry i meant to say when i ran the commands to add the thing we black listed it created a seperate file, and didnt add to the blacklist.conf and that the file it created as in the same directory but yeh
[02:47] <TJ-> as long as you have a file in /etc/modprobe.d/ with the suffix ".conf" and the content "blacklist ideapad_laptop" it's fine
[02:47] <Gr33ntea> oh 
[02:47] <Gr33ntea> okay it did have tht
[02:47] <Gr33ntea> hm
[02:48] <Gr33ntea> weird so why is it working for him
[02:48] <TJ-> the idea is by having 1 file per option multiple packages can install options without needing to parse/write a single file 
[02:49] <TJ-> lets try unloading the module. Do "lsmod | grep idea" and tell me what the number is at the end of the line. We need 0 (no references to the module) in order to unload it
[02:50] <TJ-> We should also confirm that that blacklist is correct and working
[02:51] <Gr33ntea> so ideapad_laptop 32768 0 gets printed out
[02:52] <Gr33ntea> wait its potentilly important i show the rest of the output 2 
[02:52] <Gr33ntea> gonna paste it
[02:54] <TJ-> Gr33ntea: that's fine, so we can unload it manually with "sudo modprobe -r ideapad_laptop"
[02:54] <Gr33ntea> http://paste.ubuntu.com/p/dysT9X4GSw/
[02:54] <Gr33ntea> okay
[02:54] <TJ-> that's fine, those other modules are required by ideapad_laptop, but nothing depends on it, so it can be removed
[02:55] <Gr33ntea> done
[02:55] <TJ-> lets see if that made any change. do "dmesg | tail" - anything related to rfkill or wifi reported?
[02:55] <Gr33ntea> omg
[02:56] <Gr33ntea> i love u
[02:56] <Gr33ntea> it works
[02:56] <TJ-> LoL
[02:56] <Gr33ntea> i cant believe it
[02:56] <TJ-> right, so we have now proved the module is at fault, so your blacklist is not working properly, so lets find out why
[02:57] <Gr33ntea> how do we do tht
[02:57] <TJ-> connect to it via SSH from your current PC so you can easily copy/paste stuff now. On the Y530 do "sudo apt install openssh-server"
[02:57] <Gr33ntea> also im so sorry for putting u thru all tht
[02:57] <Gr33ntea> i should have tried it sooner
[02:58] <TJ-> no worries; we've discovered a bug in that module which our code should have fixed, and didn't
[02:59] <TJ-> get the current IP address of the Y530 so you can connect to it via SSH from your current PC. "ip addr show" - look at the address of the wifi interface
[02:59] <TJ-> Then on your current PC you can do "ssh myusername@the.ip.addr.ess"
[03:00] <TJ-> "myusername" being a user account on the Y530 of course
[03:01] <Gr33ntea> hm
[03:01] <Gr33ntea> for some reason its hanging
[03:01] <TJ-> what 'it' ?
[03:01] <Gr33ntea> lemme jus log into irc from tht laptop to save time
[03:01] <TJ-> OK
[03:02] <Gr33ntea> Hiya
[03:02] <TJ-> using the Y530 now?
[03:02] <Gr33ntea> yup
[03:03] <TJ-> OK, do "sudo apt install pastebinit"
[03:03] <Gr33ntea> done
[03:04] <TJ-> then "pastebinit <( ls -latr /etc/modprobe.d/; for n in /etc/modprobe.d/*; do echo "== $n =="; cat $n; done )" 
[03:04] <Gr33ntea> http://paste.ubuntu.com/p/xfR5Wdqbyg/
[03:05] <TJ-> the line is commented out (starts with a #) : "#blacklist ideapad_laptop"
[03:05] <TJ-> remove the leading # and it'll blacklist at boot
[03:06] <Gr33ntea> yeah i had the # because you wanted me to remove manually
[03:06] <Gr33ntea> but the file one should have worked also right?
[03:06] <TJ-> ahh, well, with that gone a reboot should not load the module
[03:06] <TJ-> Yes
[03:07] <Gr33ntea> i removed the #
[03:08] <TJ-> OK, whilst you are there...
[03:08] <TJ-> ... in /etc/modprobe.d/iwlwifi.conf remove that option "disable_msix=1" and possibly the one after it - do you really need to disable 802.11n ?
[03:09] <TJ-> The "options iwlwifi 11n_disable=8" part. I'm suspecting you added those whilst trying to fix the wifi
[03:09] <TJ-> With those changes do a reboot and check it works 
[03:09] <Gr33ntea> Listen those were dark times, i was willing to try everything and anything
[03:10] <TJ-> :)
[03:10] <Gr33ntea> okay brb! :D
[03:13] <Gr33ntea> TJ-, Yay it worked!
[03:14] <TJ-> Good!
[03:15] <TJ-> So the module needs to correctly disable the rfkill hw switch, and our addition didn't seem to do it. There's a comment in the source about that saying:
[03:15] <TJ->      * On some models without a hw-switch (the yoga 2 13 at least)
[03:15] <TJ->      * VPCCMD_W_RF must be explicitly set to 1 for the wifi to work
[03:15] <TJ-> and that is what matching on the model from DMI should trigger
[03:16] <TJ-> so let's remove the custom module since it's superflous now the blacklist is working
[03:16] <TJ-> "sudo dkms remove ideapad_laptop/1.1 --all"
[03:17] <Gr33ntea> hm 2 questions
[03:18] <Gr33ntea> since your module did exactly that how come the wifi didn't work?
[03:18] <TJ-> for some reason the DMI version we added wasn't matching.
[03:19] <TJ-> So either both versions we tried are not correct, or the kernel is seeing a different string than dmidecode reports
[03:19] <TJ-> which is highly unlikely but who knows!
[03:19] <Gr33ntea> hm, I think i'll make it my personal project to figure this one out
[03:22] <Gr33ntea> the 2nd question was could i see the original source
[03:23] <Gr33ntea> nvm
[03:23] <Gr33ntea> i have it xD
[03:23] <Gr33ntea> for some reason i wasnt seeing those comments about the set to 1
[03:23] <Gr33ntea> but i see them now
[03:23] <TJ-> the key part is lines 1265 and 1283
[03:25] <TJ-> and 1265 is dependent on the content of the no_hw_rfkill_list array, where we added your model's unique DMI version at line 1149
[03:25] <TJ-> and that comes from the dmidecode results
[03:28] <Gr33ntea> So I was reading your post you made about ACPI and how most bios check to see if the OS is windows, and if it isn't it just limits ACPI features. I'm guessing this module was created to prevent that?
[03:31] <TJ-> not for this; in acpi_osi case the firmware limits services based on the OS id. For this, the ACPI embedded controller is used to manipulate these platform-specific (lenovo-specific) devices
[03:31] <TJ-> I may have spotted why the match didn't work.
[03:31] <TJ-> Can you show me "pastebinit <( sudo dmidecode )"
[03:32] <Gr33ntea> Here ya go
[03:32] <Gr33ntea> http://paste.ubuntu.com/p/wqKbNFdBY2/
[03:35] <TJ-> hmm, nope, we had the correct string 
[03:37] <TJ-> my concern is that DMI_PRODUCT_VERSION is not referencing DMI type 1 Version. I'm trying to figure it out now
[03:40] <Gr33ntea> gonna make some tea brb
[03:42] <TJ-> hmm, no, it is correct. line 447 of drivers/firmware/dmi_scan.c shows it is in the type 1 code block
[03:47] <TJ-> How about we add code to the module to report those DMI attributes we want to match on, so we can see in the kernel log what the kernel actually sees
[03:48] <Gr33ntea> Just got back
[03:49] <Gr33ntea> tht sounds awesome, im down
[03:57] <TJ-> I've just added the code; am doing a test build
[04:01] <Gr33ntea> TJ-, what is String referencing in dmi_scan.c line 168, line 447 that you mentioned passes it a 6
[04:01] <Gr33ntea> but im not sure wht tht is in regard to
[04:03] <Gr33ntea> wish they would use the javadoc format and have param explanations in the comments above the function
[04:04] <TJ-> That'd triple the source size!
[04:04] <TJ-> OK, fetch the new source from http://iam.tj/projects/ubuntu/ideapad_laptop-dkms.tar.gz
[04:05] <TJ-> extract as before: "sudo tar -xf ideapad_laptop-dkms.tar.gz -C /" then "sudo dkms remove ideapad_laptop/1.1. --all && sudo dkms install ideapad_laptop/1.1"
[04:05] <Gr33ntea> TJ-, would that matter? don't compilers ignore comments? : o and okay gonna test it now
[04:07] <TJ-> You'll see I've added a printk in there, which reports the values
[04:08] <Gr33ntea> did we already remove it
[04:08] <Gr33ntea> i think i only have to install
[04:08] <Gr33ntea> didn't*
[04:08] <Gr33ntea> okay i installed it
[04:09] <TJ-> the line is printk("DMI: %s, %s. has_hw_rfkill_switch=%d\n", dmi_vendor, dmi_version, priv->has_hw_rfkill_switch);
[04:09] <Gr33ntea> u want dmesg paste?
[04:10] <Gr33ntea> gonna reboot brb
[04:11] <TJ-> so now you have to manually load it, because of the blacklist you need to use "sudo insmod /lib/modules/$(uname -r)/updates/dkms/ideapad_laptop.ko"
[04:14] <Gr33ntea> TJ-, back
[04:14] <TJ-> :)
[04:14] <TJ-> you shot off before I could tell you you didn't need to reboot!
[04:15] <TJ-> so now you have to manually load it, because of the blacklist you need to use "sudo insmod /lib/modules/$(uname -r)/updates/dkms/ideapad_laptop.ko"
[04:15] <Gr33ntea> sorry x3
[04:15] <TJ-> did the message show up?
[04:15] <Gr33ntea> which message?
[04:16] <TJ-> the message I added to the module, which should be in the 'dmesg' outout. Try "dmesg | grep DMI"
[04:16] <Gr33ntea> loading didnt work
[04:17] <Gr33ntea> ERROR: could not load module /lib/modules/4.18.0-8-generic/updates/dkms/ideapad_laptop.ko: No such file or directory
[04:17] <Gr33ntea> lemme install again?
[04:17] <TJ-> hmmm, does "dkms status" report it installed?
[04:17] <Gr33ntea> yeh
[04:18] <Gr33ntea> dkms status ideapad_laptop
[04:18] <Gr33ntea> ideapad_laptop, 1.1, 4.18.0-8-generic, x86_64: installed
[04:18] <TJ-> OK, oh... hyphen not underscore
[04:18] <TJ-> check with "find /lib/modules/$(uname -r)/ -name 'ideapad_laptop.ko' "
[04:18] <TJ-> oops!
[04:18] <TJ-> check with "find /lib/modules/$(uname -r)/ -name 'ideapad*laptop.ko' "
[04:20] <Gr33ntea> http://paste.ubuntu.com/p/F3rvBsPvNJ/
[04:20] <Gr33ntea> its there
[04:20] <TJ-> yeah, so hyphen!
[04:20] <TJ-> so now you have to manually load it, because of the blacklist you need to use "sudo insmod /lib/modules/$(uname -r)/updates/dkms/ideapad-laptop.ko"
[04:21] <TJ-> i hope it doesn't disconnect you! 
[04:21] <TJ-> to remove it you can do "sudo modprobe -r ideapad-laptop"
[04:22] <Gr33ntea> keeps saying unknown symbol in the middle
[04:22] <Gr33ntea> could not insert module unknown symbol in the middle
[04:23] <Gr33ntea> could not insert module unknown symbol in the middle
[04:23] <Gr33ntea> sorry idk why tht posted twice
[04:23] <TJ-> oh, darn, that means all the depends are needed :( I think it'd be easier to comment out the blacklist, replace that with a single file so you can easily toggle it on/off
[04:24] <Gr33ntea> okay lemme comment it out
[04:24] <TJ-> you could try first doing "for m in wmi video sparse-keymap; do sudo modprobe $m; done" 
[04:25] <TJ-> then re-run the insmod command . insmod doesn't load dependencies like modprobe does
[04:27] <TJ-> I think there's a way to avoid the /etc/modprobe.d/ directory using the -C option, as in "sudo modprobe -C /tmp ideapad-laptop"
[04:27] <Gr33ntea> TJ-, It disconnected me as you feared x3
[04:28] <Gr33ntea> the interesting thing to note is tht
[04:28] <TJ-> Gr33ntea: well good, because it loaded the module. now see if it reported with "dmesg | grep DMI"
[04:28] <TJ-> I think there's a way to avoid the /etc/modprobe.d/ directory using the -C option, as in "sudo modprobe -C /tmp ideapad-laptop"
[04:28] <TJ-> which would allow you to use modprobe not insmod for testing
[04:28] <TJ-> and not have to remove the blacklist lines
[04:29] <Gr33ntea> http://paste.ubuntu.com/p/pyjVY2Tbf7/
[04:29] <Gr33ntea> well then tht is different
[04:30] <TJ-> ahhh, no output!
[04:30] <TJ-> the "DMI: LENOVO 81FV/LNVNB161216, BIOS 8JCN44WW 08/13/2018" is from when the kernel started
[04:30] <Gr33ntea> oh
[04:30] <TJ-> That could be a clue as to why this isn't working
[04:32] <TJ-> right, that function is only called if the firmware advertises the name "VPC2004"
[04:33] <TJ-> so you'd best capture and upload the ACPI DSDT/SSDT (tables) so I can analyze them
[04:33] <TJ-> "sudo apt install acpica-tools"
[04:34] <Gr33ntea> done
[04:34] <TJ-> then sudo acpidump > /tmp/Y530.acpi
[04:34] <TJ-> then you need to find somewhere to upload/share that (binary data) file so I can get it
[04:35] <Gr33ntea> i can't just cat the .acpi and store the output into pastebinit?
[04:36] <TJ-> no, it's binary, and contains several separate tables, each needing to be extracted and converted to source-code separately
[04:37] <Gr33ntea> okay gimme a sec ill put it in a dropbox
[04:41] <Gr33ntea> TJ-, Sorry my dropbox was full had to delete stuff. https://www.dropbox.com/s/52t7e4f577d52c0/Y530.acpi?dl=0
[04:43] <TJ-> great, thanks, I'll decompile it now
[04:48] <TJ-> darn, "Could not get ACPI tables from dsdt.dat, AE_BAD_HEADER" - I wonder if the tools used by Lenovo are more recent than what I have (20180115)
[04:59] <Gr33ntea> what tools do you use? : o
[05:08] <TJ-> acpica-tools - I've set up an 18.10 container, and that seems to be almost working (more recent version)
[05:10] <TJ-> right, got it and moved it back to 18.04 host
[05:11] <TJ-> well, it declares that ID "Name (_HID, "VPC2004")  // _HID: Hardware ID"
[05:11] <TJ-> so, why is that method not getting to the printk
[05:12] <TJ-> or maybe it is, but not printing in default mode
[05:15] <TJ-> would you like to make a change to the source to save me having to package it up etc
[05:18] <Gr33ntea> sorry
[05:18] <Gr33ntea> I was helping a friend with something
[05:18] <Gr33ntea> whatcha need me to change
[05:18] <TJ-> change the printk line 1270 in /usr/src/ideapad_laptop-1.1/ideapad-laptop.c so the start of it looks like printk(KERN_NOTICE "DMI: 
[05:19] <TJ-> you'll likely need root privs to edit it
[05:20] <TJ-> once that is done you'll need to dkms remove/install the module once again
[05:23] <Gr33ntea> I do not see a printk there
[05:24] <Gr33ntea> and even redownloaded the tar tht u gave
[05:24] <Gr33ntea> and there isnt a printk in tht 1 either
[05:24] <TJ-> huh! that might explain why yuou didn't see it then!
[05:24] <TJ-> let me check
[05:27] <TJ-> ok, I've uploaded it again and checked its got the correct file. Download it  http://iam.tj/projects/ubuntu/ideapad_laptop-dkms.tar.gz 
[05:28] <TJ-> then extract it: "sudo tar -xvf ideapad_laptop-dkms.tar.gz -C /"
[05:29] <TJ-> that has the change in it, which you should confirm
[05:29] <Gr33ntea> just confirmed
[05:32] <Gr33ntea> question i ran the command you posted sudo dkms remove ideapad_laptop/1.1. --all && sudo dkms install ideapad_laptop/1.1
[05:32] <TJ-> OK, so "sudo dkms remove ideapad_laptop/1.1 --all" and "sudo dkms install ideapad_laptop/1.1"
[05:33] <Gr33ntea> And it says there are no instances of module
[05:33] <TJ-> hmmm, oh, "sudo dkms add ideapad_laptop/1.1" - I'm tired :)
[05:34] <Gr33ntea> uh
[05:34] <Gr33ntea> it should be add not install?
[05:34] <Gr33ntea> cuz i ran tht command
[05:34] <Gr33ntea> and it worked
[05:34] <Gr33ntea> xD
[05:34] <Gr33ntea> the sudo dkms remove ideapad_laptop/1.1 --all" and "sudo dkms install ideapad_laptop/1.1
[05:35] <TJ-> it should be remove -> add _> install
[05:36] <Gr33ntea> done
[05:37] <Gr33ntea> http://paste.ubuntu.com/p/mVrRXqrxsS/
[05:37] <TJ-> so now test loading it ... lets try the modprobe trick. After which you'll need to unload the module if it kills wifi. "sudo modprobe -C /tmp ideapad_laptop"  then "sudo modprobe -r ideapad_laptop" then "dmesg | grep DMI"
[05:38] <Gr33ntea> http://paste.ubuntu.com/p/Grfcz7Cmkv/
[05:39] <TJ-> no output again :s After the modprobe loading it, use "lsmod | grep idea" to check the module is loaded
[05:39] <Gr33ntea> okay brb
[05:41] <Gr33ntea> http://paste.ubuntu.com/p/tdcQDkwYYn/
[05:41] <Gr33ntea> http://paste.ubuntu.com/p/DhxTjtmqG6/
[05:41] <Gr33ntea> first one is lsmod | grep idea
[05:47] <TJ-> so, it looks like the code never reaches that point then, which explains why the DMI entry doesn't have any affect, but still doesn't make sense!
[05:47] <TJ-> I think we'll have to leave it for now
[05:48] <Gr33ntea> TJ-, okay : c
[05:48] <Gr33ntea> sorry I couldn't be of much help
[05:49] <Gr33ntea> and thank you for all the help you've given!
[05:50] <TJ-> I think we should add a printk to the entry point of that function, so we know if it is being called at all. if it isn't that means the VPC2004 string isn't matching, which points to a larger problem
[05:51] <Gr33ntea> okay one sec
[05:51] <TJ-> add this line       printk(KERN_NOTICE, "%s\n", "ideapad_acpi_add()");
[05:51] <TJ-> after const char *dmi_vendor, *dmi_version;
[05:52] <TJ-> that is around line 1250
[05:53] <TJ-> then you'll need to do the dkms remove, add, install loop again
[05:59] <Gr33ntea> no dice
[05:59] <TJ-> did you check for this message? the one containing "ideapad"
[06:00] <Gr33ntea> this time i did not lemme try it again
[06:00] <TJ-> this new message just prints the function name as soon as it enters the function
[06:01] <Gr33ntea> oh
[06:01] <Gr33ntea> tht one you mean
[06:01] <Gr33ntea> yeah no it didnt print
[06:01] <Gr33ntea> http://paste.ubuntu.com/p/rcYc5d2xQb/
[06:02] <TJ-> so, that means that ACPI ID (VPC2004) isn't matching/being found, despite my confirming it is in the ACPI DSDT
[06:02] <Gr33ntea> wait
[06:03] <TJ-> which is weird, but explains why we weren't able to make progress by adding the DMI strings
[06:03] <Gr33ntea> http://paste.ubuntu.com/p/djrzjsmX8Y/
[06:03] <Gr33ntea> not wht u want right
[06:03] <Gr33ntea> dmesg | grep idea
[06:03] <TJ-> oh! that's helpful :)
[06:04] <Gr33ntea> i accidentally spelled it idras the first time
[06:04] <Gr33ntea> xD
[06:04] <TJ-> oh, I think those messages are from earlier when you were trying to use insmod
[06:04] <Gr33ntea> oh yeh
[06:05] <TJ-> if you do "dmesg | tail" you should a much later timestamp
[06:06] <Gr33ntea> just to make sure i didnt do anything wrong heres wht i had done. i took the tar extracted it to /usr/src removed -> add -> install
[06:06] <Gr33ntea> then load module -> stop module -> print dmesg
[06:07] <Gr33ntea> and my ideapad.c file has both printks
[06:07] <Gr33ntea> tht we added
[06:09] <Gr33ntea> also i have to go soon : ( need to wake up in 3 hrs for work
[06:10] <TJ-> yeah, we've spent enough time on it!
[06:10] <TJ-> I'm having breakfast here 
[06:11] <Gr33ntea> xD
[06:11] <Gr33ntea> u basically didnt sleep all night
[06:11] <Gr33ntea> okay if you ever want to continue this i might be on tomorrow around the same time
[06:12] <Gr33ntea> good night friend, or i guess good morning
[16:43] <johnjohn101> hi, just wanted to know if this is a reported issue.  screen locks and the ubuntu bar is still showing..