Blog / Post

Photo of CRT computer monitor lot by z yu

Learn To Read EDID / DisplayID Metadata On A Raspberry Pi

  • Adam Douglas
  • hacking

In a recent consulting task I was doing I needed to confirm the display device capabilities. Yes I realize most would say just go and look at the display device’s specifications however as I’ve discovered many display devices do not provide proper specifications let alone accurate ones. I was aware that one can query the display device’s capabilities and more using EDID or DisplayID but in all honesty I’ve never really done it before. Sure I’ve ran GUI applications or command line programs over the years that tells me available resolutions but nothing that really gave me the entire details.

Let’s start at the beginning by learning what is EDID and DisplayID, what can it provide and the benefits of it.

Extended Display Identification Data (EDID) is a metadata format for display devices to describe their capabilities to a video source (e.g. graphics card or set-top box). The data format is defined by a standard published by the Video Electronics Standards Association (VESA). – Wikipedia

The EDID general structure or metadata contains manufacturer name, serial number, product type, phosphor or filter type, timings supported, display size, luminance data, pixel mapping data (digital displays only) and more. This standard has evolved over time to Enhanced Extended Display Identification Data (E-EDID) and now DisplayID. The DisplayID (VESA standard) was created with a uniform format targeted at consumer electronic devices and PC monitors. This data structure is communicated using the protocol Display Data Channel (DDC).

DisplayID is a VESA standard for metadata describing display device capabilities to the video source. It is designed to replace E-EDID standard and EDID structure v1.4. – Wikipedia

The benefit of these standards allows for say a PC monitor to communicate to the video source (video graphics card) describing it’s capabilities. In return the video source then can provide a video signal that is supported by the PC monitor.

Retrieving EDID / DisplayID Metadata

Let’s begin my attempt at reading EDID / DisplayID metadata.

Note

As far as I understand, these methods work with EDID, E-EDID or DisplayID VESA standards.

Environment

  • Samsung TV 50” UN50MU6300 (display device)
  • Raspberry Pi 4 Model B 8GB (VideoCore VI GPU) (video source)

Assumptions

  • Steps prefixed with a “$” (dollar sign) represents the CLI (command-line interface) prompt
  • The text after the “$” is to be entered at the CLI

Raspberry Pi OS

I was unable to get “get-edid” to work.

$ get-edid | parse-edid
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.
Partial Read... Try again

I tried to use “xrandr” however that didn’t provide desired results even though EDID metadata is present.

$ xrandr --prop | edidparser
edidparser [-f freq] [-g group] [-m mode] [-s] [-4] <edid dump>
-4 adds in the restrictions of the Pi4 hardware
Enabling fuzzy format match...
edidparser exited with code -1

I was able to get some success using “edid-decode” package that I installed. I successfully retrieve the metadata but it only works with one display device as far as I can tell. I was not able to figure out how to specify which display device to use if one had multiple display devices.

$ xrandr --prop | edid-decode
EDID version: 1.3
Manufacturer: SAM Model df6 Serial Number <INTENTIONALLY REMOVED>
Made in week 1 of 2017
Digital display
Maximum image size: 111 cm x 62 cm
Gamma: 2.20
RGB color display
First detailed timing is preferred timing
Display x,y Chromaticity:
  Red:   0.6406, 0.3300
  Green: 0.3007, 0.6005
  Blue:  0.1503, 0.0605
  White: 0.2802, 0.2900
Established timings supported:
  720x400@70Hz 9:5 HorFreq: 31469 Hz Clock: 28.320 MHz
  640x480@60Hz 4:3 HorFreq: 31469 Hz Clock: 25.175 MHz
  640x480@67Hz 4:3 HorFreq: 35000 Hz Clock: 30.240 MHz
  640x480@72Hz 4:3 HorFreq: 37900 Hz Clock: 31.500 MHz
  640x480@75Hz 4:3 HorFreq: 37500 Hz Clock: 31.500 MHz
  800x600@60Hz 4:3 HorFreq: 37900 Hz Clock: 40.000 MHz
  800x600@72Hz 4:3 HorFreq: 48100 Hz Clock: 50.000 MHz
  800x600@75Hz 4:3 HorFreq: 46900 Hz Clock: 49.500 MHz
  832x624@75Hz 4:3 HorFreq: 49726 Hz Clock: 57.284 MHz
  1024x768@60Hz 4:3 HorFreq: 48400 Hz Clock: 65.000 MHz
  1024x768@70Hz 4:3 HorFreq: 56500 Hz Clock: 75.000 MHz
  1024x768@75Hz 4:3 HorFreq: 60000 Hz Clock: 78.750 MHz
  1280x1024@75Hz 5:4 HorFreq: 80000 Hz Clock: 135.000 MHz
  1152x870@75Hz 192:145 HorFreq: 67500 Hz Clock: 108.000 MHz
Standard timings supported:
  1152x864@75Hz 4:3 HorFreq: 67500 Hz Clock: 108.000 MHz
  1280x720@60Hz 16:9
  1280x800@60Hz 16:10
  1280x1024@60Hz 5:4 HorFreq: 64000 Hz Clock: 108.000 MHz
  1440x900@60Hz 16:10 HorFreq: 55500 Hz Clock: 88.750 MHz
  1600x900@60Hz 16:9
  1680x1050@60Hz 16:10 HorFreq: 64700 Hz Clock: 119.000 MHz
Detailed mode: Clock 297.000 MHz, 1872 mm x 1053 mm
               3840 4016 4104 4400 hborder 0
               2160 2168 2178 2250 vborder 0
               +hsync +vsync
               VertFreq: 30 Hz, HorFreq: 67500 Hz
Detailed mode: Clock 148.500 MHz, 1872 mm x 1053 mm
               1920 2008 2052 2200 hborder 0
               1080 1084 1089 1125 vborder 0
               +hsync +vsync
               VertFreq: 60 Hz, HorFreq: 67500 Hz
Monitor ranges (GTF): 24-75Hz V, 15-81kHz H, max dotclock 300MHz
Monitor name: SAMSUNG
Has 1 extension blocks
Checksum: 0x42 (valid)

CTA extension block
Extension version: 3
75 bytes of CTA data
  Video data block
    VIC  95 3840x2160@30Hz 16:9  HorFreq: 67500 Hz Clock: 297.000 MHz
    VIC  16 1920x1080@60Hz 16:9  HorFreq: 67500 Hz Clock: 148.500 MHz
    VIC  31 1920x1080@50Hz 16:9  HorFreq: 56250 Hz Clock: 148.500 MHz
    VIC   4 1280x720@60Hz 16:9  HorFreq: 45000 Hz Clock: 74.250 MHz
    VIC  19 1280x720@50Hz 16:9  HorFreq: 37500 Hz Clock: 74.250 MHz
    VIC   5 1920x1080i@60Hz 16:9  HorFreq: 33750 Hz Clock: 74.250 MHz
    VIC  20 1920x1080i@50Hz 16:9  HorFreq: 28125 Hz Clock: 74.250 MHz
    VIC  32 1920x1080@24Hz 16:9  HorFreq: 27000 Hz Clock: 74.250 MHz
    VIC  33 1920x1080@25Hz 16:9  HorFreq: 28125 Hz Clock: 74.250 MHz
    VIC  34 1920x1080@30Hz 16:9  HorFreq: 33750 Hz Clock: 74.250 MHz
    VIC  93 3840x2160@24Hz 16:9  HorFreq: 54000 Hz Clock: 297.000 MHz
    VIC  94 3840x2160@25Hz 16:9  HorFreq: 56250 Hz Clock: 297.000 MHz
    VIC  98 4096x2160@24Hz 256:135  HorFreq: 54000 Hz Clock: 297.000 MHz
    VIC  99 4096x2160@25Hz 256:135  HorFreq: 56250 Hz Clock: 297.000 MHz
    VIC 100 4096x2160@30Hz 256:135  HorFreq: 67500 Hz Clock: 297.000 MHz
    VIC   7 1440x480i@60Hz 16:9  HorFreq: 15734 Hz Clock: 27.000 MHz
    VIC  22 1440x576i@50Hz 16:9  HorFreq: 15625 Hz Clock: 27.000 MHz
    VIC   3 720x480@60Hz 16:9  HorFreq: 31469 Hz Clock: 27.000 MHz
    VIC  18 720x576@50Hz 16:9  HorFreq: 31250 Hz Clock: 27.000 MHz
  Audio data block
    Linear PCM, max channels 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
    AC-3, max channels 6
      Supported sample rates (kHz): 48 44.1 32
      Maximum bit rate: 640 kb/s
    DTS, max channels 6
      Supported sample rates (kHz): 48
      Maximum bit rate: 1536 kb/s
    Dolby Digital+, max channels 8
      Supported sample rates (kHz): 48 44.1 32
  Speaker allocation data block
    Speaker map:
      FL/FR - Front Left/Right
  Extended tag: Video capability data block
    YCbCr quantization: No Data (0)
    RGB quantization: No Data (0)
    PT scan behaviour: No Data (0)
    IT scan behaviour: Support both over- and underscan (3)
    CE scan behaviour: Support both over- and underscan (3)
  Extended tag: Colorimetry data block
    xvYCC601
    xvYCC709
  Vendor-specific data block, OUI 000c03 (HDMI)
    Source physical address 3.0.0.0
    Supports_AI
    DC_36bit
    DC_30bit
    DC_Y444
    Maximum TMDS clock: 300MHz
    Extended HDMI video details:
      HDMI VIC 1 3840x2160@30Hz 16:9 HorFreq: 67500 Hz Clock: 297.000 MHz
      HDMI VIC 2 3840x2160@25Hz 16:9 HorFreq: 56250 Hz Clock: 297.000 MHz
      HDMI VIC 3 3840x2160@24Hz 16:9 HorFreq: 54000 Hz Clock: 297.000 MHz
      HDMI VIC 4 4096x2160@24Hz 256:135 HorFreq: 54000 Hz Clock: 297.000 MHz
  Extended tag: HDR static metadata data block
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      SMPTE ST2084
      Hybrid Log-Gamma
    Supported static metadata descriptors:
      Static metadata type 1
  Extended tag: YCbCr 4:2:0 video data block
    VIC  96 3840x2160@50Hz 16:9  HorFreq: 112500 Hz Clock: 297.000 MHz
    VIC  97 3840x2160@60Hz 16:9  HorFreq: 135000 Hz Clock: 297.000 MHz
    VIC 101 4096x2160@50Hz 256:135  HorFreq: 112500 Hz Clock: 297.000 MHz
    VIC 102 4096x2160@60Hz 256:135  HorFreq: 135000 Hz Clock: 297.000 MHz
  Extended tag: Vendor-specific video data block
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
0 native detailed modes
Detailed mode: Clock 74.250 MHz, 1872 mm x 1053 mm
               1920 2448 2492 2640 hborder 0
                540  542  547  562 vborder 0
               +hsync +vsync interlaced
               VertFreq: 50 Hz, HorFreq: 28125 Hz
Detailed mode: Clock 85.500 MHz, 1872 mm x 1053 mm
               1366 1436 1579 1792 hborder 0
                768  771  774  798 vborder 0
               +hsync +vsync
               VertFreq: 59 Hz, HorFreq: 47712 Hz
Checksum: 0xbd (valid)

Next I moved on to using “tvservice” with great success. Thankfully “tvservice” supports multiple display devices.

  1. Find desired display device.
    $ tvservice --list
    
    1 attached device(s), display ID's are :
    Display Number 2, type HDMI 0
    
  2. Retrieve metadata from a specific display device.
    $ tvservice --device 2 -d edid.dat
    
    Written 256 bytes to edid.dat
    
  3. Parse metadata to human readable text.
    $ edidparser edid.dat
    
    Enabling fuzzy format match...
    Parsing edid.dat...
    HDMI:EDID version 1.3, 1 extensions, screen size 111x62 cm
    HDMI:EDID features - videodef 0x80 !standby !suspend !active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
    HDMI:EDID found monitor range descriptor tag 0xfd
    HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0
    HDMI:EDID monitor range: vertical is 24-75 Hz, horizontal is 15-81 kHz, max pixel clock is 300 MHz
    HDMI:EDID monitor range does not support GTF
    HDMI:EDID found monitor name descriptor tag 0xfc
    HDMI:EDID monitor name is SAMSUNG
    HDMI:EDID found preferred CEA detail timing format: 3840x2160p @ 30 Hz (95)
    HDMI:EDID found CEA detail timing format: 1920x1080p @ 60 Hz (16)
    HDMI:EDID established timing I/II bytes are BD EF 80
    HDMI:EDID found DMT format: code 4, 640x480p @ 60 Hz in established timing I/II
    HDMI:EDID found DMT format: code 5, 640x480p @ 72 Hz in established timing I/II
    HDMI:EDID found DMT format: code 6, 640x480p @ 75 Hz in established timing I/II
    HDMI:EDID found DMT format: code 9, 800x600p @ 60 Hz in established timing I/II
    HDMI:EDID found DMT format: code 10, 800x600p @ 72 Hz in established timing I/II
    HDMI:EDID found DMT format: code 11, 800x600p @ 75 Hz in established timing I/II
    HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz in established timing I/II
    HDMI:EDID found DMT format: code 17, 1024x768p @ 70 Hz in established timing I/II
    HDMI:EDID found DMT format: code 18, 1024x768p @ 75 Hz in established timing I/II
    HDMI:EDID found DMT format: code 36, 1280x1024p @ 75 Hz in established timing I/II
    HDMI:EDID standard timings block x 8: 0x714F 81C0 8100 8180 9500 A9C0 B300 0101
    HDMI:EDID found DMT format: code 21, 1152x864p @ 75 Hz (4:3) in standard timing 0
    HDMI:EDID found DMT format: code 85, 1280x720p @ 60 Hz (16:9) in standard timing 1
    HDMI:EDID found DMT format: code 28, 1280x800p @ 60 Hz (16:10) in standard timing 2
    HDMI:EDID found DMT format: code 35, 1280x1024p @ 60 Hz (5:4) in standard timing 3
    HDMI:EDID found DMT format: code 47, 1440x900p @ 60 Hz (16:10) in standard timing 4
    HDMI:EDID found DMT format: code 83, 1600x900p @ 60 Hz (16:9) in standard timing 5
    HDMI:EDID found DMT format: code 58, 1680x1050p @ 60 Hz (16:10) in standard timing 6
    HDMI:EDID parsing v3 CEA extension 0
    HDMI:EDID monitor support - underscan IT formats:yes, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:0
    HDMI:EDID found CEA detail timing format: 1920x1080i @ 50 Hz (20)
    HDMI:EDID found DMT detail timing format: 1366x768p @ 60 Hz (81)
    HDMI:EDID found CEA format: code 95, 3840x2160p @ 30Hz
    HDMI:EDID found CEA format: code 16, 1920x1080p @ 60Hz
    HDMI:EDID found CEA format: code 31, 1920x1080p @ 50Hz
    HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz
    HDMI:EDID found CEA format: code 19, 1280x720p @ 50Hz
    HDMI:EDID found CEA format: code 5, 1920x1080i @ 60Hz
    HDMI:EDID found CEA format: code 20, 1920x1080i @ 50Hz
    HDMI:EDID found CEA format: code 32, 1920x1080p @ 24Hz
    HDMI:EDID found CEA format: code 33, 1920x1080p @ 25Hz
    HDMI:EDID found CEA format: code 34, 1920x1080p @ 30Hz
    HDMI:EDID found CEA format: code 93, 3840x2160p @ 24Hz
    HDMI:EDID found CEA format: code 94, 3840x2160p @ 25Hz
    HDMI:EDID found CEA format: code 98, 4096x2160p @ 24Hz
    HDMI:EDID found CEA format: code 99, 4096x2160p @ 25Hz
    HDMI:EDID found CEA format: code 100, 4096x2160p @ 30Hz
    HDMI:EDID found CEA format: code 7, 1440x480i @ 60Hz
    HDMI:EDID found CEA format: code 22, 1440x576i @ 50Hz
    HDMI:EDID found CEA format: code 3, 720x480p @ 60Hz
    HDMI:EDID found CEA format: code 18, 720x576p @ 50Hz
    HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48 kHz, sample size: 16|20|24 bits
    HDMI:EDID found audio format 6 channels AC3, sample rate: 32|44|48 kHz, bitrate: 640 kbps
    HDMI:EDID found audio format 6 channels DTS, sample rate: 48 kHz, bitrate: 1536 kbps
    HDMI:EDID found audio format 8 channels Dobly Digital+, sample rate: 32|44|48 kHz, codec define: 0
    HDMI:EDID found Video Capability DB length 2
    HDMI:EDID video capability: CE:3 IT:3 PT:0 QS:0
    HDMI:EDID extended data block tag 0x05 length 3 not supported
    HDMI:EDID found HDMI VSDB length 14
    HDMI:EDID HDMI VSDB has physical address 3.0.0.0
    HDMI:EDID HDMI VSDB supports AI:yes, dual link DVI:no
    HDMI:EDID HDMI VSDB deep colour support - 48-bit:no 36-bit:yes 30-bit:yes DC_yuv444:yes
    HDMI:EDID HDMI VSDB max TMDS clock 300 MHz
    HDMI:EDID HDMI VSDB does not support content type
    HDMI:EDID HDMI VSDB supports extended resolutions 1,2,3,4
    HDMI:EDID extended data block tag 0x06 length 3 not supported
    HDMI:EDID extended data block tag YCbCr420VideoData - length 5
    HDMI:EDID Disabling mode 96 as YUV420 only
    HDMI:EDID Disabling mode 97 as YUV420 only
    HDMI:EDID Disabling mode 101 as YUV420 only
    HDMI:EDID Disabling mode 102 as YUV420 only
    HDMI:EDID extended data block tag VendorSpecificVideo - length 5
    HDMI:EDID adding mandatory support for CEA (1) 640x480p @ 60Hz
    HDMI:EDID adding mandatory support for CEA (2) 720x480p @ 60Hz
    HDMI:EDID adding mandatory support for CEA (17) 720x576p @ 50Hz
    HDMI:EDID filtering formats with pixel clock unlimited MHz or h. blanking unlimited
    HDMI:EDID best score mode initialised to CEA (1) 640x480p @ 60 Hz with pixel clock -1225684812 MHz (score 25)
    HDMI:EDID best score mode is now CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 61864)
    HDMI:EDID best score mode is now CEA (2) 720x480p @ 60 Hz with pixel clock 27 MHz (score 66472)
    HDMI:EDID CEA mode (3) 720x480p @ 60 Hz with pixel clock 27 MHz has a score of 66472
    HDMI:EDID best score mode is now CEA (4) 1280x720p @ 60 Hz with pixel clock 74 MHz (score 135592)
    HDMI:EDID DMT mode (4) 640x480p @ 60 Hz with pixel clock 25 MHz has a score of 18432
    HDMI:EDID best score mode is now CEA (5) 1920x1080i @ 60 Hz with pixel clock 74 MHz (score 149416)
    HDMI:EDID DMT mode (5) 640x480p @ 72 Hz with pixel clock 31 MHz has a score of 5529
    HDMI:EDID DMT mode (6) 640x480p @ 75 Hz with pixel clock 31 MHz has a score of 5760
    HDMI:EDID CEA mode (7) 1440x480i @ 60 Hz with pixel clock 27 MHz has a score of 45736
    HDMI:EDID DMT mode (9) 800x600p @ 60 Hz with pixel clock 40 MHz has a score of 28800
    HDMI:EDID DMT mode (10) 800x600p @ 72 Hz with pixel clock 50 MHz has a score of 8640
    HDMI:EDID DMT mode (11) 800x600p @ 75 Hz with pixel clock 49 MHz has a score of 9000
    HDMI:EDID best score mode is now CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz (score 273832)
    HDMI:EDID DMT mode (16) 1024x768p @ 60 Hz with pixel clock 65 MHz has a score of 47185
    HDMI:EDID CEA mode (17) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
    HDMI:EDID DMT mode (17) 1024x768p @ 70 Hz with pixel clock 75 MHz has a score of 13762
    HDMI:EDID CEA mode (18) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
    HDMI:EDID DMT mode (18) 1024x768p @ 75 Hz with pixel clock 78 MHz has a score of 14745
    HDMI:EDID CEA mode (19) 1280x720p @ 50 Hz with pixel clock 74 MHz has a score of 117160
    HDMI:EDID CEA mode (20) 1920x1080i @ 50 Hz with pixel clock 74 MHz has a score of 232360
    HDMI:EDID DMT mode (21) 1152x864p @ 75 Hz with pixel clock 108 MHz has a score of 43662
    HDMI:EDID CEA mode (22) 1440x576i @ 50 Hz with pixel clock 27 MHz has a score of 45736
    HDMI:EDID DMT mode (28) 1280x800p @ 60 Hz with pixel clock 83 MHz has a score of 86440
    HDMI:EDID CEA mode (31) 1920x1080p @ 50 Hz with pixel clock 148 MHz has a score of 232360
    HDMI:EDID CEA mode (32) 1920x1080p @ 24 Hz with pixel clock 74 MHz has a score of 124532
    HDMI:EDID CEA mode (33) 1920x1080p @ 25 Hz with pixel clock 74 MHz has a score of 128680
    HDMI:EDID CEA mode (34) 1920x1080p @ 30 Hz with pixel clock 74 MHz has a score of 149416
    HDMI:EDID DMT mode (35) 1280x1024p @ 60 Hz with pixel clock 108 MHz has a score of 103643
    HDMI:EDID DMT mode (36) 1280x1024p @ 75 Hz with pixel clock 135 MHz has a score of 24576
    HDMI:EDID DMT mode (47) 1440x900p @ 60 Hz with pixel clock 106 MHz has a score of 102760
    HDMI:EDID DMT mode (58) 1680x1050p @ 60 Hz with pixel clock 146 MHz has a score of 130840
    HDMI:EDID DMT mode (81) 1366x768p @ 60 Hz with pixel clock 85 MHz has a score of 62945
    HDMI:EDID DMT mode (83) 1600x900p @ 60 Hz with pixel clock 108 MHz has a score of 111400
    HDMI:EDID DMT mode (85) 1280x720p @ 60 Hz with pixel clock 74 MHz has a score of 80296
    HDMI:EDID best score mode is now CEA (93) 3840x2160p @ 24 Hz with pixel clock 297 MHz (score 423130)
    HDMI:EDID best score mode is now CEA (94) 3840x2160p @ 25 Hz with pixel clock 297 MHz (score 439720)
    HDMI:EDID best score mode is now CEA (95) 3840x2160p @ 30 Hz with pixel clock 297 MHz (score 5771496)
    HDMI:EDID CEA mode (98) 4096x2160p @ 24 Hz with pixel clock 297 MHz has a score of 224065
    HDMI:EDID CEA mode (99) 4096x2160p @ 25 Hz with pixel clock 297 MHz has a score of 232360
    HDMI:EDID CEA mode (100) 4096x2160p @ 30 Hz with pixel clock 297 MHz has a score of 273831
    HDMI0:EDID preferred mode remained as CEA (95) 3840x2160p @ 30 Hz with pixel clock 297 MHz
    HDMI:EDID has HDMI support and audio support
    edidparser exited with code 0
    

Trouble Shooting

If you experience a the following issue here are a few tips in resolving the issue.

$ tvservice -device 2 -d edid.dat
Nothing written!

Checklist

  • Is the display device connected?
  • Does the display device have power, plugged into a power source and turned on?
  • Do you have the correct display device ID (tvservice –list)?
  • Reboot the Raspberry Pi and try again
  • Not all display devices can provide EDID or DisplayID metadata. Try another display device.

I’m publishing this as part of 100 Days To Offload. You can join in yourself by visiting 100DaysToOffload.com.