Adding an "interface" parameter for storage controllers

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
ManWithNoName
Posts: 12
Joined: 15. Aug 2013, 09:11

Adding an "interface" parameter for storage controllers

Post by ManWithNoName »

Hello,

I'm working with command lines via vboxmanage and I have found one thing which is not clear (also in GUI) concerning the storage controller parameters.

Actually, this is defined as following :

List of Storage controller (Storage Treeview in GUI)
- Controller : "Controller 1 Name"
- Controller : "Controller 2 Name"

and for each controller (Attributes View in GUI)
- "IDE Controller" :
  • Name
    Type
    Using host IO cache (Check box in GUI)
- "SATA Controller" :
  • Name
    Type
    Port Number
    Using host IO cache (Check box in GUI)
I can see that there is no "interface" parameter in the list, the only way we have to know which interface is used is by using the controller's name.
By default, it seems that VirtualBox give a storage controller's name with the name of the interface which is used.
Per example, an IDE controller will have IDE as name.

I think controller's name and their interface are not the same thing, we shouldn't mix them.

I think it would be usefull adding a parameter named as "interface" to display/change the interface used by the storage controller (IDE, SATA, SCSI, etc.) in the GUI.

With command line via vboxmanage, I didn't find too any way to get/set the interface used by a storage controller. Neither with the vboxmanage list, neither with vboxmanage showvminfo or with vboxmanage storagectl commands.

Rem. : I think too, the "type" word used in GUI for the "type" attribute is not very clear too and may be confused. For IDE storage controller, this is not really a "type" but rather a "chipset" or a "die". In GUI, we speak about a "type" and with vboxmanage storagectl, we speak about --controller so in my mind this is not easy to understand.

Regards
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Adding an "interface" parameter for storage controllers

Post by socratis »

I know it's not exactly what you're looking for, but if you hover over the controller the tooltip gives you the information that you're looking for. Name, Bus, Type. Of course you cannot change it on the fly, but I don't think that this was ever meant to be. You'll have to destroy the one type of controller and add a new one.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
ManWithNoName
Posts: 12
Joined: 15. Aug 2013, 09:11

Re: Adding an "interface" parameter for storage controllers

Post by ManWithNoName »

Yes, you're right the tiptool give us this information.
But is there a way with CLI (Vboxmanage) to get it ?

Regards
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Adding an "interface" parameter for storage controllers

Post by socratis »

You could use "VBoxManage showvminfo <VM_Name>" and indirectly deduce the information. Example where the IDE controller was renamed to 'lala' and the SATA to 'mama':
  • Storage Controller Name (0):            lala
    Storage Controller Type (0):            PIIX4
    Storage Controller Instance Number (0): 0
    Storage Controller Max Port Count (0):  2
    Storage Controller Port Count (0):      2
    Storage Controller Bootable (0):        on
    Storage Controller Name (1):            mama
    Storage Controller Type (1):            IntelAhci
    Storage Controller Instance Number (1): 0
    Storage Controller Max Port Count (1):  30
    Storage Controller Port Count (1):      1
    Storage Controller Bootable (1):        on
The IDE controller type can be "PIIX3", "PIIX4" or "ICH6". The SATA controller type on the other hand can only be "IntelAhci". Just for completion the SCSI controller type can be "LsiLogic" or "BusLogic" and the SAS can only be "LsiLogicSas".

I completely agree with you that the information could be made easier to see. It's already there, it's just a matter of adding the information in the GUI and in the CLI. So +1 from me.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
ManWithNoName
Posts: 12
Joined: 15. Aug 2013, 09:11

Re: Adding an "interface" parameter for storage controllers

Post by ManWithNoName »

OK, Thanks for your answer !!!
I think it would be usefull adding these precisions in the documentation too.
By resume, with informations you answered me :

IDE : PIIX3, PIIX4 or ICH6
SATA : IntelAHCI
SCSI : LsiLogic or BusLogic
SAS : LsiLogicSas
Floppy : I82078
USB : USB


In the documentation (PDF) for VBox v5.1.6, I think some "types" have been forgotten in the Vboxmanage storagectl section :
I can read :
[--add <ide/sata/scsi/floppy>]
What about sas and usb types ?

and by typing vboxmanage --help (with Vbox v5.0.26), I can read :
[--add ide|sata|scsi|floppy|sas]
What about usb type ?

Regards
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Adding an "interface" parameter for storage controllers

Post by socratis »

Yeap, you're absolutely right! I went a step further and here's a comparison between the "VBoxManage storagectl" command and the user manual (both from 5.1.7 r110731 (Qt5.5.1). The reds are missing from one or the other, the purples are mismatches which apparently do not affect the commands (case insensitive), but still could be addressed:
  • VBoxManage storagectl
    <uuid|vmname>
    --name <name>
    [--add ide|sata|scsi|floppy|sas|pcie]
    [--controller LSILogic|LSILogicSAS|BusLogic|
                  IntelAHCI|PIIX3|PIIX4|ICH6|I82078|NVMe]
    [--portcount <1-n>]
    [--hostiocache on|off]
    [--bootable on|off]
    [--rename <name>]
    [--remove]
    
    User Manual
    <uuid|vmname>
    --name <name>
    [--add <ide/sata/scsi/floppy>]
    [--controller <LsiLogic|LSILogicSAS|BusLogic|
                  IntelAhci|PIIX3|PIIX4|ICH6|I82078|usb>]
    [--portcount <1-30>]
    [--hostiocache on|off]
    [--bootable on|off]
    [--rename <name>]
    [--remove]
Based on some tests that I did, the following combinations work and should be included in both the User Manual and the help output of VBoxManage:
  • VBoxManage storagectl <uuid|name> --name <name> --add usb [--controller usb]
    VBoxManage storagectl <uuid|name> --name <name> --add pcie [--controller NVMe]
    VBoxManage storagectl <uuid|name> --name <name> --add sas --controller LSILogisSAS
If you add a USB or a PCIe interface you do not have to specify the controller since there is only one.

However, there is an additional bug in the SAS case, where if you do not specify the controller, the command is perfectly accepted, the interface is created but the controller type is set to USB (?!?) both in the tooltip and in the "VBoxManage showvminfo", but not in the GUI (?!?).

I'm filing a bug report on this one and I will post the ticket number.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Adding an "interface" parameter for storage controllers

Post by socratis »

OK, filed two bug reports; one documentation (trivial) and one VM control (major):
  • #15971: "VBoxManage storagectl" missing options in the documentation.
  • #15972: "VBoxManage storagectl --add sas" gets USB controller.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
ManWithNoName
Posts: 12
Joined: 15. Aug 2013, 09:11

Re: Adding an "interface" parameter for storage controllers

Post by ManWithNoName »

Great Job !!!
Thanks :D

Regards
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Adding an "interface" parameter for storage controllers

Post by socratis »

socratis wrote:OK, filed two bug reports; one documentation (trivial) and one VM control (major):
  • #15971: "VBoxManage storagectl" missing options in the documentation.
  • #15972: "VBoxManage storagectl --add sas" gets USB controller.
#15972 was fixed as part of the 5.1.8 release.
#15971 will be fixed in a later release.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply