I’m trying to load the module samsung-laptop. Even when I use -f I can’t. So I took a look at the source and I see this part:
...
static int __init samsung_init(void)
{
struct samsung_laptop *samsung;
int ret;
if (efi_enabled(EFI_BOOT))
return -ENODEV;
...
I don’t know C that well, so I would like to ask someone who does: Does this say that this module will always refuse to load as long as you use an EUFI boot?
So I recompiled the module with that part commented out and now I don’t get a key rejected message. Now I get a “No such device” message.
I have a Samsung galaxy book ion 15.6. I thought forcing modprobe would disable the check for specific models. Any ideas of how I can get this module working?
commit e0094244e41c4d0c7ad69920681972fc45d8ce34
Author: Matt Fleming <...>
Date: Thu Jan 3 09:02:37 2013 +0000
samsung-laptop: Disable on EFI hardware
It has been reported that running this driver on some Samsung laptops
with EFI can cause those machines to become bricked as detailed in the
following report,
https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
There have also been reports of this driver causing Machine Check
Exceptions on recent EFI-enabled Samsung laptops,
https://bugzilla.kernel.org/show_bug.cgi?id=47121
So disable it if booting from EFI since this driver relies on
grovelling around in the BIOS memory map which isn't going to work.
But he discovered that you need CSM support for the modified module to work. I can’t find such an option in my EUFI settings so unless you can spot why that would be necessary in the source code I don’t know what to try next.
I did some more digging, by inserting some printk(KERN_INFO "Err msg\n"); in the source code at various places to see where it goes wrong. The code goes as far as samsung_sabi_init(samsung). And in there it exits because it’s not able to find a signature with: find_signature(samsung->f0000_segment, samsung->config->test_string);
I see that there is a debug function in the source but I don’t know how to enable it when I run modprobe. How do I do that?