jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2347
Joined: Thu Jul 11, 2013 2:37 pm

Raspberry Pi 4 VL805 firmware release 0138a1

Mon May 04, 2020 12:57 pm

A new firmware from VIA is available for testing. There are a couple of issues with the USB host controller that have been fixed in this release.

1) User settings of the ASPM bits in the PCI configuration space link control register are now maintained
Previously the firmware would trample these bits on start/stop of an isochronous stream if they had been modified from default. This should allow for better diagnosis of issues where the added latency caused by link power management is suspected to be the cause.

2) Better full-speed Isochronous endpoint support
In previous firmware versions, there was a cap on the maximum size of Isochronous full-speed endpoint that could be configured. This limit was 792 bytes. This cap has been removed, so single endpoints up to 1023 bytes are now supported, but be aware that the total Isochronous FS bandwidth across all configured endpoints is still limited to a maximum of 1023 bytes.

Ensure that your Pi's software is up-to-date prior to installing. Run sudo apt update && sudo apt upgrade.
Download the VL805 EEPROM binary (using a web browser) from https://drive.google.com/file/d/1LH-Ds4 ... LLNcNAxIMZ to the /home/pi directory.

NB: Do *NOT* attempt to update the VLI EEPROM if you are currently using the BETA USB mass storage bootloader with a release date before 2020-05-28. There is a bug where the bootloader will incorrectly read the VLI EEPROM and end up in an endless loop programming/verifying/rebooting. Either roll back to "critical" bootloader with an SD card rescue image, or update the beta bootloader to the latest version.

NB 2: This upgrade method has no effect on Pi 4 8GB boards, because the VLI EEPROM is a no-fit part. The VLI firmware has been rolled into the bootloader EEPROM. Updating the VLI firmware independently from the bootloader is not currently possible.

"Flash" the VLI firmware using sudo rpi-eeprom-update -u vl805-000138a1.bin.

Reboot the Pi with sudo reboot.

Verify the output of sudo rpi-eeprom-update reports the correct version in the CURRENT field:

Code: Select all

pi@raspberrypi:~ $ sudo rpi-eeprom-update
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
 LATEST: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
 FW DIR: /lib/firmware/raspberrypi/bootloader/beta
VL805: up-to-date
CURRENT: 000138a1
 LATEST: 000137ad
Please test and report back.
Rockets are loud.
https://astro-pi.org

Kendek
Posts: 225
Joined: Thu Jul 25, 2019 4:39 pm
Location: Kaposvár, Hungary

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Mon May 04, 2020 5:44 pm

I've updated and everything seems OK.

Code: Select all

> vl805 
VL805 FW version: 000138a1
ASPM works fine, activates with some delay:

Code: Select all

> lspci -vvv | grep ASPM
LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
HDD and SSD speed is good:

Code: Select all

> lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
> hdparm -t /dev/<HDD> /dev/<SSD>
/dev/<HDD>:
 Timing buffered disk reads: 448 MB in  3.01 seconds = 148.79 MB/sec
/dev/<SSD>:
 Timing buffered disk reads: 1024 MB in  3.00 seconds = 340.83 MB/sec
and stable:

Code: Select all

> iozone -a
...
iozone test complete.
nothing new in the dmesg.

kevinthefixer
Posts: 94
Joined: Sun Jun 02, 2013 10:36 pm

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Thu May 07, 2020 2:06 am

As detailed in this thread: viewtopic.php?f=28&t=267331, my Espotek Labrador o-scope now works fine after this update. However, I cannot use the 'scope, a keyboard, and a mouse all three at once when using the type-a usb ports. Any two work but the mouse drops out whenever the third device is plugged in, or in the case of the Labrador board, as soon as it's activated by its software. However I still have the usb-c port forced into host mode, and I can plug both input devices into a usb-c hub and the Lab into a type-a port and all is fine. Perhaps the bandwidth cap mentioned above? Personally I'm happy with this setup but I'm thinking a new Labrador/Pi4 owner would get very frustrated. I intend to alert Chris Esposito, Espotek founder/developer, of this...ummm...development in order to minimize said frustration but I'm not real hopeful it'll help a lot. Anyway thanks to all who helped me out here, I don't want to mention any names 'cuz I heard @jdb embarasses easily!

--Kevin

lingon
Posts: 157
Joined: Fri Aug 26, 2011 7:31 am

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Mon May 11, 2020 1:21 pm

I made brief tests with two old SSD:s in different USB-boxes that I have. The first one is a 500 GB Crucial BX500 SSD in a LC-Power LC-25U3-C2 USB 3 enclosure with the chipset ASM235CM and UAS support. https://www.lc-power.com/en/product/hdd ... c-25u3-c2/. This device works without any quirk.
rpi-eeprom-update
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086)
LATEST: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086)
FW DIR: /lib/firmware/raspberrypi/bootloader/beta
VL805: up-to-date
CURRENT: 000138a1
LATEST: 000137ad

Code: Select all

[  142.082565] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[  146.000572] usb 2-2: New USB device found, idVendor=174c, idProduct=55aa, bcdDevice= 1.00
[  146.000589] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[  146.000602] usb 2-2: Product: ASM235
[  146.000615] usb 2-2: Manufacturer: ASMT
[  146.000627] usb 2-2: SerialNumber: XXXXXXXXXXXXXXX
[  146.032643] scsi host0: uas
[  146.037490] scsi 0:0:0:0: Direct-Access     CT500BX1 00SSD1           0    PQ: 0 ANSI: 6
[  146.040107] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[  146.040293] sd 0:0:0:0: [sda] Write Protect is off
[  146.040309] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[  146.040615] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  146.041339] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes
[  146.043581]  sda: sda1 sda2
[  146.046401] sd 0:0:0:0: [sda] Attached SCSI disk
[  146.139414] sd 0:0:0:0: Attached scsi generic sg0 type 0

Code: Select all

hdparm  -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       CT500BX100SSD1                          
        Serial Number:      XXXXXXXXXXXXXXXX    
        Firmware Revision:  MU02    
        Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
        Supported: 9 8 7 6 5 
        Likely used: 9
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:    16514064
        LBA    user addressable sectors:   268435455
        LBA48  user addressable sectors:   976773168
        Logical  Sector size:                   512 bytes
        Physical Sector size:                   512 bytes
        Logical Sector-0 offset:                  0 bytes
        device size with M = 1024*1024:      476940 MBytes
        device size with M = 1000*1000:      500107 MBytes (500 GB)
        cache/buffer size  = unknown
        Nominal Media Rotation Rate: Solid State Device
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 2   Current = 1
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4 
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    NOP cmd
           *    DOWNLOAD_MICROCODE
                SET_MAX security extension
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    WRITE_{DMA|MULTIPLE}_FUA_EXT
           *    64-bit World wide name
           *    WRITE_UNCORRECTABLE_EXT command
           *    {READ,WRITE}_DMA_EXT_GPL commands
           *    Segmented DOWNLOAD_MICROCODE
           *    Gen1 signaling speed (1.5Gb/s)
           *    Gen2 signaling speed (3.0Gb/s)
           *    Gen3 signaling speed (6.0Gb/s)
           *    Native Command Queueing (NCQ)
           *    Host-initiated interface power management
           *    Phy event counters
           *    READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
                DMA Setup Auto-Activate optimization
                Device-initiated interface power management
           *    Software settings preservation
                Device Sleep (DEVSLP)
           *    SMART Command Transport (SCT) feature set
           *    SCT Write Same (AC2)
           *    SCT Features Control (AC4)
           *    SCT Data Tables (AC5)
           *    SANITIZE feature set
           *    BLOCK_ERASE_EXT command
           *    DOWNLOAD MICROCODE DMA command
           *    WRITE BUFFER DMA command
           *    READ BUFFER DMA command
           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read ZEROs after TRIM
Security: 
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
                supported: enhanced erase
        4min for SECURITY ERASE UNIT. 4min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: XXXXXXXXXXXXX
        NAA             : 5
        IEEE OUI        : XXXXXXX
        Unique ID       : XXXXXXXX
Device Sleep:
        DEVSLP Exit Timeout (DETO): 20 ms (default)
        Minimum DEVSLP Assertion Time (MDAT): 10 ms (default)
Checksum: correct
hdparm -Tt /dev/sda2

/dev/sda2:
Timing cached reads: 1676 MB in 2.00 seconds = 838.57 MB/sec
Timing buffered disk reads: 1096 MB in 3.00 seconds = 364.77 MB/sec
source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;303407;592
seq-write;0;0;23464;45
rand-4k-write;0;0;69719;17429
rand-4k-read;61884;15471;0;0
Sequential write speed 23464 KB/sec (target 10000) - PASS
Random write speed 17429 IOPS (target 500) - PASS
Random read speed 15471 IOPS (target 1500) - PASS
root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;316599;618
seq-write;0;0;288704;563
rand-4k-write;0;0;50373;12593
rand-4k-read;61191;15297;0;0
Sequential write speed 288704 KB/sec (target 10000) - PASS
Random write speed 12593 IOPS (target 500) - PASS
Random read speed 15297 IOPS (target 1500) - PASS
root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;316599;618
seq-write;0;0;310597;606
rand-4k-write;0;0;69497;17374
rand-4k-read;54795;13698;0;0
Sequential write speed 310597 KB/sec (target 10000) - PASS
Random write speed 17374 IOPS (target 500) - PASS
Random read speed 13698 IOPS (target 1500) - PASS
The first agnostics run showed only a sequential write speed of 23464 KB/sec, but the two following runs were OK, so that is a bit strange. Otherwise the performance is similar to the one with the earlier firmware version 000137ad.

The second drive is a 60 GB OCZ Vertex3 in a RaidSonic Icy Box IB-254U3 enclosure. https://www.raidsonic.de/products/exter ... jectID=476. This one has a JMicron JMS579 chipset and requires a quirk to be used, otherwise the performance is really bad. In principle this device supports UAS, but it is blacklisted and not used:

Code: Select all

[   46.519154] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[   46.550418] usb 2-2: New USB device found, idVendor=152d, idProduct=1576, bcdDevice= 2.04
[   46.550433] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   46.550446] usb 2-2: Product: JMS579
[   46.550458] usb 2-2: Manufacturer: JMicron
[   46.550470] usb 2-2: SerialNumber: 987654321029
[   46.554017] usb 2-2: UAS is blacklisted for this device, using usb-storage instead
[   46.554150] usb 2-2: UAS is blacklisted for this device, using usb-storage instead
[   46.554173] usb-storage 2-2:1.0: USB Mass Storage device detected
[   46.559205] usb-storage 2-2:1.0: Quirks match for vid 152d pid 1576: 800000
[   46.559378] scsi host0: usb-storage 2-2:1.0
[   47.609605] scsi 0:0:0:0: Direct-Access     OCZ-VERT EX3              0204 PQ: 0 ANSI: 6
[   47.617938] sd 0:0:0:0: [sda] 117231408 512-byte logical blocks: (60.0 GB/55.9 GiB)
[   47.619064] sd 0:0:0:0: [sda] Write Protect is off
[   47.619082] sd 0:0:0:0: [sda] Mode Sense: 47 00 00 08
[   47.627999] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   47.632967]  sda: sda1 sda2 sda3 sda4
[   47.633369] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   47.636637] sd 0:0:0:0: [sda] Attached SCSI disk

Code: Select all

hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       OCZ-VERTEX3                             
        Serial Number:      XXXXXXXXXXXXXXXXXXX
        Firmware Revision:  2.25    
        Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
        Used: unknown (minor revision code 0x0110) 
        Supported: 8 7 6 5 
        Likely used: 8
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:    16514064
        LBA    user addressable sectors:   117231408
        LBA48  user addressable sectors:   117231408
        Logical  Sector size:                   512 bytes
        Physical Sector size:                   512 bytes
        Logical Sector-0 offset:                  0 bytes
        device size with M = 1024*1024:       57241 MBytes
        device size with M = 1000*1000:       60022 MBytes (60 GB)
        cache/buffer size  = unknown
        Nominal Media Rotation Rate: Solid State Device
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 16
        Advanced power management level: 254
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4 
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
                Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    NOP cmd
           *    DOWNLOAD_MICROCODE
           *    Advanced Power Management feature set
                Power-Up In Standby feature set
           *    SET_FEATURES required to spinup after power up
           *    48-bit Address feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    WRITE_{DMA|MULTIPLE}_FUA_EXT
           *    64-bit World wide name
           *    IDLE_IMMEDIATE with UNLOAD
                Write-Read-Verify feature set
           *    {READ,WRITE}_DMA_EXT_GPL commands
           *    Segmented DOWNLOAD_MICROCODE
           *    Gen1 signaling speed (1.5Gb/s)
           *    Gen2 signaling speed (3.0Gb/s)
           *    Gen3 signaling speed (6.0Gb/s)
           *    Native Command Queueing (NCQ)
           *    Host-initiated interface power management
           *    Phy event counters
           *    Device automatic Partial to Slumber transitions
           *    READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
                DMA Setup Auto-Activate optimization
                Device-initiated interface power management
                Software settings preservation
           *    SMART Command Transport (SCT) feature set
           *    SCT Data Tables (AC5)
           *    SET MAX SETPASSWORD/UNLOCK DMA commands
           *    Data Set Management TRIM supported (limit 1 block)
           *    Deterministic read data after TRIM
Security: 
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
        not     supported: enhanced erase
        2min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: XXXXXXXXXX
        NAA             : 5
        IEEE OUI        : XXXXXX
        Unique ID       : XXXXXX
Checksum: correc
root@raspberrypi:~# hdparm -Tt /dev/sda4

/dev/sda4:
Timing cached reads: 1670 MB in 2.00 seconds = 834.97 MB/sec
Timing buffered disk reads: 806 MB in 3.00 seconds = 268.59 MB/sec
source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;140937;275
seq-write;0;0;135685;265
rand-4k-write;0;0;23124;5781
rand-4k-read;20183;5045;0;0
Sequential write speed 135685 KB/sec (target 10000) - PASS
Random write speed 5781 IOPS (target 500) - PASS
Random read speed 5045 IOPS (target 1500) - PASS
The performance is similar also for this SSD and USB-box compared to the previous firmware version. I have not done any extensive stress testing of either of the SSDs.

noee
Posts: 18
Joined: Thu Nov 21, 2019 5:30 pm

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Wed May 13, 2020 1:28 pm

Testing with a pi4 4GB (not overclocked/over-volted) which basically just runs pihole, JRiver MediaCenter and the occasional video (connect to 4K tv).

The pi has two USB DACs connected (SMSL => USB3, xDUoo => USB2) and a SSD to USB3 (root/home). Each DAC serves a playback zone in the house, so they both play simultaneously.

It's also on the latest 5.4 kernel, running 32bit. All appears normally working, I've not experienced any unexpected behavior so far.

Code: Select all

Linux arya 5.4.40-v7l+ #1316 SMP Tue May 12 13:10:42 BST 2020 armv7l GNU/Linux

Code: Select all

BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086)
 LATEST: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086)
 FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000138a1
 LATEST: 000137ad

Kendek
Posts: 225
Joined: Thu Jul 25, 2019 4:39 pm
Location: Kaposvár, Hungary

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sat May 30, 2020 10:41 am

NB 2: This upgrade method has no effect on Pi 4 8GB boards, because the VLI EEPROM is a no-fit part. The VLI firmware has been rolled into the bootloader EEPROM.
Ok, this is completely understandable. But when will the firmware version 0138a1 be available as beta? Is there any chance that this firmware become integrated into the beta bootloader EEPROM images?

User avatar
HawaiianPi
Posts: 5702
Joined: Mon Apr 08, 2013 4:53 am
Location: Aloha, Oregon USA

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun May 31, 2020 10:17 am

RaspberryPi4B2:~$ sudo rpi-eeprom-update
BCM2711 detected
Dedicated VL805 EEPROM detected
BOOTLOADER: up-to-date
CURRENT: Thu 28 May 2020 07:22:33 AM UTC (1590650553)
LATEST: Wed 27 May 2020 05:47:29 PM UTC (1590601649)
FW DIR: /lib/firmware/raspberrypi/bootloader/beta
VL805: up-to-date
CURRENT: 000138a1
LATEST: 000137ad

RaspberryPi4B2:~$ uname -a
Linux RaspberryPi4B2 5.4.42-v8+ #1319 SMP PREEMPT Wed May 20 14:18:56 BST 2020 aarch64 GNU/Linux

Update went okay. Running both the beta USB-MSD boot EEPROM update 2020-05-28 and VL805 138a1 firmware, along with the rpi-update *.elf and *.dat files and 5.4 kernel. No problems that I've noticed.
My mind is like a browser. 27 tabs are open, 9 aren't responding,
lots of pop-ups...and where is that annoying music coming from?

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2347
Joined: Thu Jul 11, 2013 2:37 pm

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun May 31, 2020 10:40 am

Kendek wrote:
Sat May 30, 2020 10:41 am
NB 2: This upgrade method has no effect on Pi 4 8GB boards, because the VLI EEPROM is a no-fit part. The VLI firmware has been rolled into the bootloader EEPROM.
Ok, this is completely understandable. But when will the firmware version 0138a1 be available as beta? Is there any chance that this firmware become integrated into the beta bootloader EEPROM images?
It will eventually, but there needs to be a longer shakedown of the USB MSD boot first.
Rockets are loud.
https://astro-pi.org

Kendek
Posts: 225
Joined: Thu Jul 25, 2019 4:39 pm
Location: Kaposvár, Hungary

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun May 31, 2020 12:01 pm

A theoretical question as an curiosity. I see that the EEPROM chip is simply not soldered on Pi 4 8GB boards (just compared the new 8GB and old 4GB boards). However the soldering place is there and accessible. If the chip will subsequently installed, can it work? The rpi-eeprom-update just checks the board revision, so no go, but are there other software limitations?

cleverca22
Posts: 518
Joined: Sat Aug 18, 2012 2:33 pm

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Mon Jun 01, 2020 12:48 am

Kendek wrote:
Sun May 31, 2020 12:01 pm
A theoretical question as an curiosity. I see that the EEPROM chip is simply not soldered on Pi 4 8GB boards (just compared the new 8GB and old 4GB boards). However the soldering place is there and accessible. If the chip will subsequently installed, can it work? The rpi-eeprom-update just checks the board revision, so no go, but are there other software limitations?
that script just runs vl805 (a static elf binary, in the same git repo), to do the actual updating of the SPI chip
so you can always bypass the script, and run vl805 directly, it has a --help and is simple to use

but the boot firmware may force things backwards to the version in the 2nd SPI chip, because its not expecting a vl805 SPI...

devmoon
Posts: 1
Joined: Mon Jun 01, 2020 4:00 pm

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Mon Jun 01, 2020 4:25 pm

Hello,

I tested the new firmware with a raspberry pi 4 4GB. When I connect for example 12 audio devices, all of them are recognized and I can use each one individually. There is a problem when I use all the devices at same time, the first 5 that start to play, play ok, but the others fail with a message "usb_set_interface failed (-28)".

Using a raspbery pi 3 I can play 9 devices at same time, more than the 5 devices that I can play at same time using a raspberry pi4.

This new firmaware not solve this problem. Is this a firmware limitation that will be solved in an other firmware release?

Thanks in advance.

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2347
Joined: Thu Jul 11, 2013 2:37 pm

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Tue Jun 02, 2020 6:30 pm

Quoting the first post:

" be aware that the total Isochronous FS bandwidth across all configured endpoints is still limited to a maximum of 1023 bytes."

This firmware increases the supported single endpoint size, not the total available Isochronous FS bandwidth. In future there may be a firmware release that makes better use of all available HS periodic bandwidth.
Rockets are loud.
https://astro-pi.org

User avatar
HawaiianPi
Posts: 5702
Joined: Mon Apr 08, 2013 4:53 am
Location: Aloha, Oregon USA

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Mon Jun 15, 2020 10:31 pm

MacLe wrote:
Mon Jun 15, 2020 8:54 pm
Hello,

After bootlader update to 000137ad my screen is inverted ;-(
The bootloader is not the VL805 firmware, so you posted in the wrong thread. Also, screen rotation is an OS function and not really related to the bootloader (which only affects function before the rainbow GPU test splash screen, not after).

From what you have posted, you are still running the default firmware anyway, so ... ¯\_(ツ)_/¯
My mind is like a browser. 27 tabs are open, 9 aren't responding,
lots of pop-ups...and where is that annoying music coming from?

haris_g
Posts: 3
Joined: Sun Jul 05, 2020 2:56 am

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 3:08 am

Hi,

I am using Ubuntu 18.04 server on my raspberry pi4 4GB.
I had issue of recording audio signals through a microphone array connected on USB port of rpi4, and I am hoping the firmware upgrade may resolve the issue.
I am a newbie and facing the following issues.
1. I am unable to install rpi-eeprom-update package on rpi4.
2. to check the current version of EEPROM I used command vcgencmd bootloader_version. And I am also unable to install vcgencmd package.
I have been smashing my head into lot of stuff randomly, any help and guidance that how can I upgrade the rpi4 firmware will be highly appreciated.

Thank you. Have a good weekend.

fruitoftheloom
Posts: 23085
Joined: Tue Mar 25, 2014 12:40 pm
Location: Delightful Dorset

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 4:56 am

haris_g wrote:
Sun Jul 05, 2020 3:08 am
Hi,

I am using Ubuntu 18.04 server on my raspberry pi4 4GB.
I had issue of recording audio signals through a microphone array connected on USB port of rpi4, and I am hoping the firmware upgrade may resolve the issue.
I am a newbie and facing the following issues.
1. I am unable to install rpi-eeprom-update package on rpi4.
2. to check the current version of EEPROM I used command vcgencmd bootloader_version. And I am also unable to install vcgencmd package.
I have been smashing my head into lot of stuff randomly, any help and guidance that how can I upgrade the rpi4 firmware will be highly appreciated.

Thank you. Have a good weekend.

The RPT / RPF only support RaspiOS (formerly Raspbian), Canonical support their Ubuntu Operating System.
Rather than negativity think outside the box !
RPi 4B 4GB (SSD Boot)..
Asus ChromeBox 3 Celeron is my other computer...

haris_g
Posts: 3
Joined: Sun Jul 05, 2020 2:56 am

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 5:07 am

fruitoftheloom wrote:
Sun Jul 05, 2020 4:56 am
haris_g wrote:
Sun Jul 05, 2020 3:08 am
Hi,

I am using Ubuntu 18.04 server on my raspberry pi4 4GB.
I had issue of recording audio signals through a microphone array connected on USB port of rpi4, and I am hoping the firmware upgrade may resolve the issue.
I am a newbie and facing the following issues.
1. I am unable to install rpi-eeprom-update package on rpi4.
2. to check the current version of EEPROM I used command vcgencmd bootloader_version. And I am also unable to install vcgencmd package.
I have been smashing my head into lot of stuff randomly, any help and guidance that how can I upgrade the rpi4 firmware will be highly appreciated.

Thank you. Have a good weekend.

The RPT / RPF only support RaspiOS (formerly Raspbian), Canonical support their Ubuntu Operating System.
Thanks for your reply.
So if I upgrade firmware after installing raspbian and then go back to ubuntu, should it work?
Because ultimately I have to use ubuntu because some of my targeted softwares only work on ubuntu.

Kendek
Posts: 225
Joined: Thu Jul 25, 2019 4:39 pm
Location: Kaposvár, Hungary

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 7:56 am

haris_g wrote:
Sun Jul 05, 2020 3:08 am
I am using Ubuntu 18.04 server on my raspberry pi4 4GB.
...
I have been smashing my head into lot of stuff randomly, any help and guidance that how can I upgrade the rpi4 firmware will be highly appreciated.
...
You can update the VL805 firmware with vl805 tool, which is a downloadable and executable binary file.

Code: Select all

> wget https://github.com/raspberrypi/rpi-eeprom/raw/master/firmware/vl805
> chmod +x vl805
> sudo vl805 -w vl805-000138a1.bin
The bootloader EEPROM is also upgradable without the rpi-eeprom-update package. You can use flashrom, and also the bootloader is capable to update itself (ENABLE_SELF_UPDATE -> /boot/pieeprom.upd and /boot/pieeprom.sig).

Code: Select all

> sudo -i
> dtparam audio=off
> dtoverlay spi-gpio40-45
> modprobe spidev
> modprobe spi-bcm2835
> flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=16000 -w pieeprom.bin
You can use the rpi-eeprom-config Python script to reading and writing the configuration file in the EEPROM image.
Here is my current shell script (pieeprom_flash.sh <pieeprom.bin>):

Code: Select all

#!/bin/sh

[ -s "$1" ] && {
    rpi-eeprom-config --out /tmp/pieeprom.cfg "$1"

    sed -i \
      -e s/BOOT_UART=0/BOOT_UART=1/ \
      -e s/WAKE_ON_GPIO=1/WAKE_ON_GPIO=0/ \
      -e s/POWER_OFF_ON_HALT=0/POWER_OFF_ON_HALT=1/ \
      -e s/ENABLE_SELF_UPDATE=1/ENABLE_SELF_UPDATE=0/ \
      -e s/BOOT_ORDER=0xf41/BOOT_ORDER=0xf14/ \
      -e "s/^$/USB_MSD_PWR_OFF_TIME=0\n/" \
        /tmp/pieeprom.cfg

    rpi-eeprom-config --config /tmp/pieeprom.cfg --out /tmp/pieeprom.bin "$1"

    vcmailbox 0x00030056 4 4 0 >/dev/null
    dtparam audio=off
    dtoverlay spi-gpio40-45
    modprobe spidev
    modprobe spi-bcm2835

    flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=16000 -w /tmp/pieeprom.bin

    rm /tmp/pieeprom.*
  }

Ratsima
Posts: 103
Joined: Tue Nov 10, 2015 12:13 am
Location: Korat, Thailand
Contact: Website

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 8:57 am

haris_g wrote:
Sun Jul 05, 2020 3:08 am
I am using Ubuntu 18.04 server on my raspberry pi4 4GB.
I had issue of recording audio signals through a microphone array connected on USB port of rpi4, and I am hoping the firmware upgrade may resolve the issue.
I am a newbie and facing the following issues.
I am also a tyro who knows pretty much nothing about hardware. I have a USB camera with an USB extension cable. This worked just fine on a Pi2. I tried to use it with a Pi4. However, the 4 kept dropping all the devices (the camera, a Canon scanner and a powered hub) from the bus. I hoped that the firmware update would help.

Code: Select all

VL805: up-to-date
CURRENT: 000138a1
LATEST: 000137ad
It did not. In order to get the camera to work with the Pi4 I have to remove the extension cable which means that I can't put the camera where I want it. I'm still mystified as to why it worked with the Pi2 but not the Pi4.

hippy
Posts: 7404
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 3:41 pm

Kendek wrote:
Sun Jul 05, 2020 7:56 am
You can use flashrom
Just a note to say 'flashrom' has been deprecated and when I had tried to use that it did not work.

Kendek
Posts: 225
Joined: Thu Jul 25, 2019 4:39 pm
Location: Kaposvár, Hungary

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Sun Jul 05, 2020 3:50 pm

hippy wrote:
Sun Jul 05, 2020 3:41 pm
Kendek wrote:
Sun Jul 05, 2020 7:56 am
You can use flashrom
Just a note to say 'flashrom' has been deprecated and when I had tried to use that it did not work.
Thanks, but it still works for me, and I have used flashrom several times lately (under Ubuntu, RPi OS and LibreELEC).

haris_g
Posts: 3
Joined: Sun Jul 05, 2020 2:56 am

Re: Raspberry Pi 4 VL805 firmware release 0138a1

Tue Jul 07, 2020 7:18 am

Kendek wrote:
Sun Jul 05, 2020 7:56 am
haris_g wrote:
Sun Jul 05, 2020 3:08 am
I am using Ubuntu 18.04 server on my raspberry pi4 4GB.
...
I have been smashing my head into lot of stuff randomly, any help and guidance that how can I upgrade the rpi4 firmware will be highly appreciated.
...
You can update the VL805 firmware with vl805 tool, which is a downloadable and executable binary file.

Code: Select all

> wget https://github.com/raspberrypi/rpi-eeprom/raw/master/firmware/vl805
> chmod +x vl805
> sudo vl805 -w vl805-000138a1.bin
The bootloader EEPROM is also upgradable without the rpi-eeprom-update package. You can use flashrom, and also the bootloader is capable to update itself (ENABLE_SELF_UPDATE -> /boot/pieeprom.upd and /boot/pieeprom.sig).

Code: Select all

> sudo -i
> dtparam audio=off
> dtoverlay spi-gpio40-45
> modprobe spidev
> modprobe spi-bcm2835
> flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=16000 -w pieeprom.bin
You can use the rpi-eeprom-config Python script to reading and writing the configuration file in the EEPROM image.
Here is my current shell script (pieeprom_flash.sh <pieeprom.bin>):

Code: Select all

#!/bin/sh

[ -s "$1" ] && {
    rpi-eeprom-config --out /tmp/pieeprom.cfg "$1"

    sed -i \
      -e s/BOOT_UART=0/BOOT_UART=1/ \
      -e s/WAKE_ON_GPIO=1/WAKE_ON_GPIO=0/ \
      -e s/POWER_OFF_ON_HALT=0/POWER_OFF_ON_HALT=1/ \
      -e s/ENABLE_SELF_UPDATE=1/ENABLE_SELF_UPDATE=0/ \
      -e s/BOOT_ORDER=0xf41/BOOT_ORDER=0xf14/ \
      -e "s/^$/USB_MSD_PWR_OFF_TIME=0\n/" \
        /tmp/pieeprom.cfg

    rpi-eeprom-config --config /tmp/pieeprom.cfg --out /tmp/pieeprom.bin "$1"

    vcmailbox 0x00030056 4 4 0 >/dev/null
    dtparam audio=off
    dtoverlay spi-gpio40-45
    modprobe spidev
    modprobe spi-bcm2835

    flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=16000 -w /tmp/pieeprom.bin

    rm /tmp/pieeprom.*
  }
I am very grateful for your help.
I updated the firmware of rpi4 to 0138a1 using this vl805 executable binary file on ubuntu 18.04.
As I was hoping, my issue is now resolved, microphone array is working fine on USB port to record audio.

However I had to execute the vl805 file as follows:

Code: Select all

>sudo ./vl805 -w vl805-000138a1.bin

Return to “Advanced users”