How to force hostname ? (wild device with hostname=localhost)

Hello everyone,

As some might know, there is a firmware on these samsung tizen smart tvs that comes with hardcoded hostname “localhost”.
I don’t what what kind of engineers they have at samsung that statically assigned a reserved hostname like this.
For now it’s not causing big problems on my network, but I believe as soon as I attach DHCP hostnames to the DNS it will most likely cause panic in many devices that might lookup for this hostname outside of their loopback interface, or even in another ‘dumber’ devices that do not follow conventions.

Anyway, since there is no root access that allows to change this hostname in the device, I thought about trying to change it during the DHCP session.
I added this option to the router:

[admin@MikroTik-RB3011] /ip dhcp-server option> print detail 
 0 name="option1" code=12 value="'samsungtv'" raw-value="73616d73756e677476"

I then proceeded to assign a static IP to this samsung device in order to allow me to force a new DHCP Option 12 on the device when it will request for a new IP.

[admin@MikroTik-RB3011] /ip dhcp-server lease> print detail
 26   address=192.168.1.31 mac-address=CC:B1:1A:##:##:## client-id="1:cc:b1:1a:##:##:##" address-lists="" server=defconf dhcp-option=option1 status=bound expires-after=6d16h51m38s last-seen=7h8m22s active-address=192.168.1.31 
     active-mac-address=CC:B1:1A:##:##:## active-client-id="1:cc:b1:1a:##:##:##" active-server=defconf host-name="localhost"

However it appears that this device also ignores some options that are given to it, since it just keeps using the hostname as it wants.

  • Am I doing something wrong?
  • Can’t Option 12 be used like this?
  • Is there any other workaround to force a hostname on a device?

I will attach a wireshark capture of the session, as soon as it connects.

Sorry for bump, but here it is the capture.

https://www.cloudshark.org/captures/d111922b008f

We can see the router offering a lease with a different hostname than the one being requested, but at the end the device just ignores…
Is this normal?
Am I using Option 12 in a wrong way?