# VFD only shows CE4 rather than time

**URL:** <https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682>\
**Category:** How-to\
**Created:** [February 6, 2023, 9:33am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682 "2023-02-06T09:33:22Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![lordvader](https://avatars.discourse-cdn.com/v4/letter/l/eb9ed0/32.png) [@lordvader](https://emuelec.discourse.group/u/lordvader)\
**Post date:** [February 6, 2023, 9:33am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/1 "2023-02-06T09:33:22Z")

</div>

Hi,  
I’m trying to get the VFD working on my device. Once I add the correct vfd.conf file, the display just shows `CE4`.  
After some digging, I noticed in the `/usr/sbin/OpenVFDService/openvfd-start` file, the command that starts the openvfd service shows the CoreElec version:  
`/usr/sbin/OpenVFDService $OS_SPLASH_OPT ${clock_12h_format:+-12h}`

If I can remove the `$OS_SPLASH_OPT` parameter, this will work fine, but this file resides in a readonly part of the filesystem. Is there a way I can fix this in order to display the time correctly?

---

<div class="post-metadata">

**Author:** ![RuBeN16v](https://yyz2.discourse-cdn.com/free1/user_avatar/emuelec.discourse.group/ruben16v/32/116_2.png) [@RuBeN16v](https://emuelec.discourse.group/u/RuBeN16v)\
**Post date:** [February 7, 2023, 5:46pm UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/2 "2023-02-07T17:46:58Z")

</div>

I´m having the exact same problem, I have read somewhere that the CE version is supposed to be displayed for some seconds on boot and then the clock must be displayed, but for some reason it is not working that way.

I have the exact same problem in a S905X box and in a S905X3 box with proven VFD archives.

---

<div class="post-metadata">

**Author:** ![lordvader](https://avatars.discourse-cdn.com/v4/letter/l/eb9ed0/32.png) [@lordvader](https://emuelec.discourse.group/u/lordvader)\
**Post date:** [February 8, 2023, 4:27am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/3 "2023-02-08T04:27:32Z")

</div>

OK - have a workaround.  
In `/storage/.config/system.d` I created an `openvfd.service` file

In that file, I added the following:

```auto
[Unit]
Description=OpenVFD Service
ConditionPathExists=/proc/device-tree/openvfd/
After=local-fs.target

[Service]
ExecStart=/storage/.config/openvfd-start
ExecStop=/bin/kill -TERM $MAINPID
ExecStopPost=-/usr/sbin/rmmod openvfd
RemainAfterExit=yes

[Install]
WantedBy=basic.target

```

I then created this file `/storage/.config/openvfd-start`, with the following content:

```auto
#!/bin/sh
OSRELEASEFILE="/etc/os-release"
USRCONFFILE="/storage/.config/vfd.conf"
SYSCONFDIR="/etc/openvfd.conf.d"
PROC_DT="/proc/device-tree"
DT_ID=$(dtname)

case $DT_ID in 
  *odroid_hc4*)
    SYSCONFFILE="$SYSCONFDIR/hc4.conf"
    ;;
esac                                                                                                                                                                                                                                            
if ["$(tr -d '\0' < $PROC_DT/openvfd/compatible)" = "open,vfd"]; then
  if [-f "$USRCONFFILE"]; then
    source "$USRCONFFILE"
  elif [-f "$SYSCONFFILE"]; then
    source "$SYSCONFFILE"
  else
    exit 0
  fi
  OS_SPLASH_OPT=""
  if [-f "$OSRELEASEFILE"]; then
    source "$OSRELEASEFILE"
    OS_SPLASH_OPT="-s CE${VERSION_ID%%.*}"
  fi
  /sbin/modprobe openvfd vfd_gpio_clk=${vfd_gpio_clk} \
                 vfd_gpio_dat=${vfd_gpio_dat} \
                 vfd_gpio_stb=${vfd_gpio_stb:-0,0,0xFF} \
                 vfd_gpio0=${vfd_gpio0:-0,0,0xFF} \
                 vfd_gpio1=${vfd_gpio1:-0,0,0xFF} \
                 vfd_gpio2=${vfd_gpio2:-0,0,0xFF} \
                 vfd_gpio3=${vfd_gpio3:-0,0,0xFF} \
                 vfd_gpio_protocol=${vfd_gpio_protocol:-0,0} \
                 vfd_chars=${vfd_chars} vfd_dot_bits=${vfd_dot_bits} \
                 vfd_display_type=${vfd_display_type}
  /usr/sbin/OpenVFDService ${clock_12h_format:+-12h}
fi    

```

This works around the read only aspects of the main filesystem, and allows you to customise services

---

<div class="post-metadata">

**Author:** ![7Ji](https://yyz2.discourse-cdn.com/free1/user_avatar/emuelec.discourse.group/7ji/32/336_2.png) [@7Ji](https://emuelec.discourse.group/u/7Ji)\
**Post date:** [February 8, 2023, 4:45am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/4 "2023-02-08T04:45:51Z")

</div>

Binaries in `/emuelec/bin` and `/emuelec/sbin` should take priority before those in `/usr/sbin`, and they’re in writable partitions.

---

<div class="post-metadata">

**Author:** ![7Ji](https://yyz2.discourse-cdn.com/free1/user_avatar/emuelec.discourse.group/7ji/32/336_2.png) [@7Ji](https://emuelec.discourse.group/u/7Ji)\
**Post date:** [February 8, 2023, 4:48am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/5 "2023-02-08T04:48:26Z")

</div>

Also, systemd units in `/storage/.config/system.d` (maybe wrong folder name, don’t remember correctly) should take priority than those in `/usr/lib/systemd/system`, so you can copy the service that provides it and edit it in the writable `/storage/.config/system.d`

---

<div class="post-metadata">

**Author:** ![lordvader](https://avatars.discourse-cdn.com/v4/letter/l/eb9ed0/32.png) [@lordvader](https://emuelec.discourse.group/u/lordvader)\
**Post date:** [February 8, 2023, 5:53am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/6 "2023-02-08T05:53:38Z")

</div>

This.  
I posted a solution just before - just waiting for the spam filter to unblock it 😉

---

<div class="post-metadata">

**Author:** ![RuBeN16v](https://yyz2.discourse-cdn.com/free1/user_avatar/emuelec.discourse.group/ruben16v/32/116_2.png) [@RuBeN16v](https://emuelec.discourse.group/u/RuBeN16v)\
**Post date:** [February 11, 2023, 6:02pm UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/7 "2023-02-11T18:02:23Z")

</div>

> [@lordvader](#):
>
> openvfd-start

It works!!!  
Thank you very much

P.D: It´s working in EE4.6 and in the new EE4.6 HybridELEC. Thanks for the update @7Ji

---

<div class="post-metadata">

**Author:** ![LEOH](https://avatars.discourse-cdn.com/v4/letter/l/3d9bf3/32.png) [@LEOH](https://emuelec.discourse.group/u/LEOH)\
**Post date:** [May 25, 2023, 10:25am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/8 "2023-05-25T10:25:56Z")

</div>

Mine is S905X4 with 4.6 Version as this ways can not work , these two files "openvfd.service"and “openvfd-start” just need creat that with notepad++ ? and what is the format it is ? .sh files or .conf files ? thank you so much

---

<div class="post-metadata">

**Author:** ![LEOH](https://avatars.discourse-cdn.com/v4/letter/l/3d9bf3/32.png) [@LEOH](https://emuelec.discourse.group/u/LEOH)\
**Post date:** [May 25, 2023, 10:27am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/9 "2023-05-25T10:27:01Z")

</div>

thanks so much can not wrok now

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [May 28, 2023, 3:35pm UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/10 "2023-05-28T15:35:31Z")

</div>

@LEOH keep the file extensions as they are. Are you saying it now works or does not work still?

---

<div class="post-metadata">

**Author:** ![LEOH](https://avatars.discourse-cdn.com/v4/letter/l/3d9bf3/32.png) [@LEOH](https://emuelec.discourse.group/u/LEOH)\
**Post date:** [June 12, 2023, 9:00am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/11 "2023-06-12T09:00:33Z")

</div>

Still not work friend still shows the CE 4

---

<div class="post-metadata">

**Author:** ![madman80](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@madman80](https://emuelec.discourse.group/u/madman80)\
**Post date:** [October 25, 2023, 10:05am UTC](https://emuelec.discourse.group/t/vfd-only-shows-ce4-rather-than-time/1682/12 "2023-10-25T10:05:50Z")

</div>

Hi, I have registered only to share my hotfix.  
You just need to kill OpenVFDService that includes `$OS_SPLASH_OPT ${clock_12h_format:+-12h}` and launch a new service with only `${clock_12h_format:+-12h}`. You can do this through custom\_start.sh file located in \emuelec\Configfiles adding the next lines anywhere:

```auto
killall OpenVFDService
OpenVFDService ${clock_12h_format:+-12h}

```

I prefer to add them at the end, just after the line `# Any commands that you want to run after the frontend has started goes here` so emuelec has time enought to connect to wifi and take the right local time before showing it in the display.  
With this solution emuelec 4.6 still boots showing CE4 but once you are in ES you should see the local time in your Vontar x3 display.
