Description of problem: My laptop (HP Spectre x360) requires passing acpi_osi='!Windows 2012' to the kernel to get the audio working, however somewhere down the line the whitespace inside the quotes gets mangled into \x20 by grub. I tried different ways of escaping this string and manually editing it at boot time, all to no avail. Version-Release number of selected component (if applicable): grub-0.97-41.mga5 grub2-mageia-theme-2.02-0.git9752.18.mga5 grub2-efi-2.02-0.git9752.18.mga5 grub-doc-0.97-41.mga5 How reproducible: 100% Steps to Reproduce: 1. vim /etc/default/grub 2. Add "acpi_osi='!Windows 2013' acpi_osi='!Windows 2012'" to the GRUB_CMDLINE_LINUX_DEFAULT option. For example: GRUB_CMDLINE_LINUX_DEFAULT=" splash quiet noiswmd resume=UUID=c3c379f3-5e35-4b50-9a87-5fe7dd0c1cdb acpi_backlight=vendor acpi_osi='!Windows 2013' acpi_osi='!Windows 2012'" 3. Run update-grub2 4. Reboot 5. cat /proc/cmdline, returns: BOOT_IMAGE=/boot/vmlinuz-desktop root=UUID=b7cce935-ae37-428e-8f48-b148b4daedfd ro splash quiet noiswmd resume=UUID=c3c379f3-5e35-4b50-9a87-5fe7dd0c1cdb acpi_backlight=vendor "acpi_osi=!Windows\x202013" "acpi_osi=!Windows\x202012" Reproducible: Steps to Reproduce:
Hardware: i586 => x86_64
Can you attach the output of dmidecode so we can teach the kernel to do the acpi_osi automatically
CC: (none) => tmb
Created attachment 6981 [details] output of lshw Here's the output of lshw.log. Running dmidecode bizarrely returns: # dmidecode # dmidecode 2.12 # SMBIOS entry point at 0xa9e9b010 # No SMBIOS nor DMI entry point found, sorry.
Yeah, seems current dmidecode does not support new hw / dmi / smbios I've just submitted a dmidecode-2.12-4.1.mga5 to Core Updates Testing. When it's available, can you retry with that one
nearly similar results: [root@localhost vanja]# rpm -qa | grep dmidecode dmidecode-2.12-4.1.mga5 [root@localhost vanja]# dmidecode # dmidecode 2.12 # SMBIOS entry point at 0xa9e9b010 Found SMBIOS entry point in EFI, reading table from /dev/mem. # No SMBIOS nor DMI entry point found, sorry. [root@localhost vanja]#
ok, lets try to find out some stuff manually... can you try: cat /sys/class/dmi/id/sys_vendor cat /sys/class/dmi/id/product_name cat /sys/class/dmi/id/uevent
[root@localhost ~]# cat /sys/class/dmi/id/sys_vendor Hewlett-Packard [root@localhost ~]# cat /sys/class/dmi/id/product_name HP Spectre x360 Convertible 13 [root@localhost ~]# cat /sys/class/dmi/id/uevent MODALIAS=dmi:bvnAmericanMegatrendsInc.:bvrF.22:bd07/16/2015:svnHewlett-Packard:pnHPSpectrex360Convertible13:pvr:rvnHewlett-Packard:rn802D:rvr58.39:cvnHewlett-Packard:ct10:cvrChassisVersion: [root@localhost ~]#
This is an issue known for years: see eg: https://bugzilla.redhat.com/show_bug.cgi?id=950760
CC: (none) => zen25000Summary: Unable to pass kernel parameters containing strings with whitespace => Unable to pass kernel parameters containing strings with whitespace with grub2
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/445952 tells to doble protect in 'strings' or triple protect in "strings"
CC: (none) => thierry.vignaud
I tried all of those combinations, none of them work for me at least. I even went as far as editing the /boot files but no combination seem to work. The bug is discussed at https://bugzilla.redhat.com/show_bug.cgi?id=923374 also
It appears it only affects UEFI systems, so it didn't receive traction as much until now.
So this bug isn't upstream. It might've been introduced with Patch0450. This has been corrected in subsequent patch: http://pkgs.fedoraproject.org/cgit/grub2.git/commit/?id=f178927fdb3f9324a56cd0bb404ec9c2eb1f5ec5
@Barry: we really should sync FC patches with their latest version
Just to confirm guys, I rebuilt the package applying the patch above and can confirm that it resolves the spaces escaping problem.
Keywords: (none) => PATCHAssignee: bugsquad => zen25000
(In reply to Vanya Miloshevski from comment #13) > Just to confirm guys, I rebuilt the package applying the patch above and can > confirm that it resolves the spaces escaping problem. Thanks for your work on this. I have pushed a patched version grub2-2.02-0.git9752.18.1.mga5 to 5/core/updates_testing. Please test this version.
Please update cauldron package too...
(In reply to Thierry Vignaud from comment #15) > Please update cauldron package too... Done
############################# Update Advisory grub2-2.02-0.git9752.18.1.mga5 has been submitted to 5/core/updates_testing This update fixes an issue that blocks the passing of kernel parameters containing strings with white space. ############################# RPMs affected: grub2-debuginfo-2.02-0.git9752.18.1.mga5.x86_64.rpm grub2-mageia-theme-2.02-0.git9752.18.1.mga5.noarch.rpm grub2-efi-2.02-0.git9752.18.1.mga5.x86_64.rpm grub2-2.02-0.git9752.18.1.mga5.x86_64.rpm grub2-debuginfo-2.02-0.git9752.18.1.mga5.i586.rpm grub2-efi-2.02-0.git9752.18.1.mga5.i586.rpm grub2-2.02-0.git9752.18.1.mga5.i586.rpm grub2-2.02-0.git9752.18.1.mga5.src.rpm ############################ Testing Maybe if Vanya could test this and confirm here that it fixes the issue this will be enough?
Doesn't work for me. I tried also with grub2-install and then an update-grub, followed by a reboot and got the same result. [root@localhost ~]# cat /etc/default/grub | grep -i cmd GRUB_CMDLINE_LINUX_DEFAULT=" splash quiet noiswmd resume=UUID=c3c379f3-5e35-4b50-9a87-5fe7dd0c1cdb acpi_backlight=vendor acpi_osi='!Windows 2013' acpi_osi='!Windows 2012'" [root@localhost ~]# cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-desktop root=UUID=b7cce935-ae37-428e-8f48-b148b4daedfd ro splash quiet noiswmd resume=UUID=c3c379f3-5e35-4b50-9a87-5fe7dd0c1cdb acpi_backlight=vendor "acpi_osi=!Windows\x202013" "acpi_osi=!Windows\x202012" [root@localhost ~]# rpm -qa | grep grub2 grub2-mageia-theme-2.02-0.git9752.18.1.mga5 grub2-efi-2.02-0.git9752.18.1.mga5 [root@localhost ~]# I'm not sure what could be wrong.
Thanks for testing I figured the errors - I was trying to do too many things today. I have corrected the patch and re-enumerated them so they apply in the correct order. Please test grub2-2.02-0.git9752.18.2.mga5 when it lands in 5/core/updates_testing. Thanks.
It might be easier to synchronise more with FC, applying their patches in their order, then Mageia patches on top of them. That's what we do for rpm/gdb/valgrind/cups/LO
(In reply to Thierry Vignaud from comment #20) > It might be easier to synchronise more with FC, applying their patches in > their order, then Mageia patches on top of them. > That's what we do for rpm/gdb/valgrind/cups/LO I used to do that a few years ago, but there were over 450 patches, so to clear the clutter and stay more in line with upstream development I decided to make an upstream snapshot patch and only add the fd patches that were not already upstreamed on top of that. This one got missed during our long freeze I guess. There is noise from most distro maintainers (including fd) on the grub-devel ML [1] about the lack of a new grub2 release since 2013 and the difficulty of juggling so many patches, so I am waiting in the hope that something will happen soon, before changing anything more. [1] https://lists.gnu.org/archive/html/grub-devel/2015-08/msg00140.html
They indeed never heard of "release often" :-(
I have exactly the same problem with the same laptop Thank you if you can do something
CC: (none) => itilo
Thanks Barry. The latest version resolves the problem for me: [root@localhost ~]# cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-desktop root=UUID=b7cce935-ae37-428e-8f48-b148b4daedfd ro splash quiet noiswmd resume=UUID=c3c379f3-5e35-4b50-9a87-5fe7dd0c1cdb acpi_backlight=vendor "acpi_osi=!Windows 2013" "acpi_osi=!Windows 2012" [root@localhost ~]# rpm -qa | grep grub2 grub2-efi-2.02-0.git9752.18.2.mga5 grub2-mageia-theme-2.02-0.git9752.18.1.mga5 [root@localhost ~]# @michel, to fix the issue you need this new version of grub2 (grub2-efi-2.02-0.git9752.18.2.mga5) and then follow the steps given in the solution at http://h30434.www3.hp.com/t5/Notebook-PC-Sound-and-Audio/HP-spectre-x360-on-linux/td-p/4980797
Vanya,Barry Thank you very much for your quick answer and very efficient action many thanks
############################# Update Advisory grub2-2.02-0.git9752.18.2.mga5 has been submitted to 5/core/updates_testing This update fixes an issue that corrupts passed kernel parameters containing strings with white space. ############################# RPMs affected: grub2-debuginfo-2.02-0.git9752.18.2.mga5.x86_64.rpm grub2-mageia-theme-2.02-0.git9752.18.2.mga5.noarch.rpm grub2-efi-2.02-0.git9752.18.2.mga5.x86_64.rpm grub2-2.02-0.git9752.18.2.mga5.x86_64.rpm grub2-debuginfo-2.02-0.git9752.18.2.mga5.i586.rpm grub2-efi-2.02-0.git9752.18.2.mga5.i586.rpm grub2-2.02-0.git9752.18.2.mga5.i586.rpm grub2-2.02-0.git9752.18.2.mga5.src.rpm ############################ Testing See comments #24 #25
Assignee: zen25000 => qa-bugs
Testing MGA5 x64 I had already applied the update, so no 'before' scenario: grub2-efi-2.02-0.git9752.18.2.mga5 grub2-mageia-theme-2.02-0.git9752.18.2.mga5 Followed exactly the steps in Comment 0: - Added acpi_osi='!Windows 2013' acpi_osi='!Windows 2012' to /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT option. - # update-grub2 - Re-booted. # cat /etc/default/grub | grep -i cmd GRUB_CMDLINE_LINUX_DEFAULT=" nokmsboot splash quiet noiswmd resume=UUID=81b56d40-6ba0-457b-9192-5b15bbd3f82b acpi_osi='!Windows 2013' acpi_osi='!Windows 2012'" # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-desktop root=UUID=bd02d23f-1f40-44c7-a5f3-81ea6f5624d3 ro nokmsboot splash quiet noiswmd resume=UUID=81b56d40-6ba0-457b-9192-5b15bbd3f82b "acpi_osi=!Windows 2013" "acpi_osi=!Windows 2012" which is as it should be, the spaces preserved in the last two paramaeters. Update OK.
CC: (none) => lewyssmithWhiteboard: (none) => MGA5-64-OK
Advisory uploaded.
Whiteboard: MGA5-64-OK => MGA5-64-OK advisory
Keywords: (none) => validated_updateCC: (none) => davidwhodgins, sysadmin-bugs
An update for this issue has been pushed to Mageia Updates repository. http://advisories.mageia.org/MGAA-2015-0141.html
Status: NEW => RESOLVEDResolution: (none) => FIXED