Bug 483112

Summary: [grub] Error 30: Invalid argument when trying to set the serial options from grub shell
Product: Red Hat Enterprise Linux 5 Reporter: Jeff Burke <jburke>
Component: grubAssignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3CC: bpeck, ddumas, pbunyan, pcaldes
Target Milestone: rc   
Target Release: 5.5   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-07 20:44:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jeff Burke 2009-01-29 18:17:38 UTC
Description of problem:
 During automation testing we are trying to use the grub shell to configure parameters. It fails every time with Error 30:

Version-Release number of selected component (if applicable):
 grub-0.97-13.2

How reproducible:
 Always

Steps to Reproduce:
1. as root open grub shell #grub
2. Try to set the serial settings
  
Actual results:

    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]

grub> serial

Error 30: Invalid argument

grub> serial --unit=/dev/ttyS0 --speed=115200

Error 23: Error while parsing number

Expected results:
 This should work as described by the help message:

grub> help serial
serial: serial [--unit=UNIT] [--port=PORT] [--speed=SPEED] [--word=WORD] [--parity=PARITY] [--stop=STOP] [--device=DEV]
    Initialize a serial device. UNIT is a digit that specifies which
    serial device is used (e.g. 0 == COM1). If you need to specify
    the port number, set it by --port. SPEED is the DTE-DTE speed.
    WORD is the word length, PARITY is the type of parity, which is
    one of `no', `odd' and `even'. STOP is the length of stop bit(s).
    The option --device can be used only in the grub shell, which
    specifies the file name of a tty device. The default values are
    COM1, 9600, 8N1.

Additional info:

Comment 1 Denise Dumas 2009-06-30 20:47:45 UTC
Moving to RHEL 5.5 so it doesn't get mistakenly closed by the bot

Comment 2 Pete Caldes 2009-09-08 18:37:33 UTC
I have the same problem with grub-0.97-13.2.

Please note that the original poster used "--unit=/dev/ttyS0" which is invalid and results in "Error 23"

I used the following commands to duplicate the problem:
grub> serial

Error 30: Invalid argument

grub> serial --dev=/dev/ttyS0 --speed=9600

Error 30: Invalid argument

grub> serial --unit=0 --speed=9600

Error 30: Invalid argument

grub>

Following is the dmesg output about the serial ports:

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

Any status on when this might get fixed?
I need to use serial consoles for my devices when they are deployed.

Comment 3 RHEL Program Management 2009-12-22 17:09:46 UTC
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".

Comment 4 Peter Jones 2009-12-22 19:50:28 UTC
Jeff, I think you've used "--unit=" where you meant "--device=".

Comment 5 Jeff Burke 2009-12-22 20:34:49 UTC
Peter,
   You are correct. However in Comment#2 Pete Caldes corrected me and duplicated the original issue I was trying to convey.

Comment 7 RHEL Program Management 2012-03-07 20:44:47 UTC
Development Management has reviewed and declined this request.  You may appeal
this decision by reopening this request.