Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. trying to figure out if i suck at programming or if realtek has byte-reversed their own OUI in addition to bit-reversing it as the spec needs

trying to figure out if i suck at programming or if realtek has byte-reversed their own OUI in addition to bit-reversing it as the spec needs

Scheduled Pinned Locked Moved Uncategorized
20 Posts 5 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

    @azonenberg I don't think JTAG uses OUIs?

    azonenberg@ioc.exchangeA This user is from outside of this forum
    azonenberg@ioc.exchangeA This user is from outside of this forum
    azonenberg@ioc.exchange
    wrote last edited by
    #10

    @whitequark oh right JEP106 is JEDEC I'm mixing it up with something

    whitequark@social.treehouse.systemsW 1 Reply Last reply
    0
    • azonenberg@ioc.exchangeA azonenberg@ioc.exchange

      @whitequark oh right JEP106 is JEDEC I'm mixing it up with something

      whitequark@social.treehouse.systemsW This user is from outside of this forum
      whitequark@social.treehouse.systemsW This user is from outside of this forum
      whitequark@social.treehouse.systems
      wrote last edited by
      #11

      @azonenberg JEP106 does however use the weird address space compression paging

      1 Reply Last reply
      0
      • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

        this can't just be me, right

        >>> hex(int("0000000000011100110010",2)) # what Realtek says
        '0x732'
        >>> hex(int("0000000000011100110010"[::-1],2)<<2) # what IEEE 802.3 says
        '0x4ce000'
        00-E0-4C   (hex)        REALTEK SEMICONDUCTOR CORP.

        (what the IEEE list says)

        Link Preview Image
        darius@mastodon.cloudD This user is from outside of this forum
        darius@mastodon.cloudD This user is from outside of this forum
        darius@mastodon.cloud
        wrote last edited by
        #12

        @whitequark FYI FreeBSD has:
        Vendors do obviously not agree how OUIs (24 bit) are mapped to the 22 bits available in the id registers.
        IEEE 802.3u-1995, subclause 22.2.4.3.1, figure 22-12, depicts the right mapping; the bit positions are defined in IEEE 802-1990, figure 5.2.
        (There is a formal 802.3 interpretation, number 1-07/98 of July 09 1998, about this.)
        ...
        If a vendor uses a different mapping, an "xx" prefixed OUI is defined here which is mangled accordingly to compensate.

        whitequark@social.treehouse.systemsW 1 Reply Last reply
        0
        • darius@mastodon.cloudD darius@mastodon.cloud

          @whitequark FYI FreeBSD has:
          Vendors do obviously not agree how OUIs (24 bit) are mapped to the 22 bits available in the id registers.
          IEEE 802.3u-1995, subclause 22.2.4.3.1, figure 22-12, depicts the right mapping; the bit positions are defined in IEEE 802-1990, figure 5.2.
          (There is a formal 802.3 interpretation, number 1-07/98 of July 09 1998, about this.)
          ...
          If a vendor uses a different mapping, an "xx" prefixed OUI is defined here which is mangled accordingly to compensate.

          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systems
          wrote last edited by
          #13

          @Darius that doesn't tell me much

          darius@mastodon.cloudD 1 Reply Last reply
          0
          • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

            @Darius that doesn't tell me much

            darius@mastodon.cloudD This user is from outside of this forum
            darius@mastodon.cloudD This user is from outside of this forum
            darius@mastodon.cloud
            wrote last edited by
            #14

            @whitequark just “vendors are idiots” but I suppose that isn’t news

            1 Reply Last reply
            0
            • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

              found another random PHY

              looks like the byte-reversal is not realtek's invention. but why the fuck is it needed?

              >>> hex(int('0000000000100010000101'[::-1],2)<<2)
              '0xa11000'
              Link Preview Image
              david_chisnall@infosec.exchangeD This user is from outside of this forum
              david_chisnall@infosec.exchangeD This user is from outside of this forum
              david_chisnall@infosec.exchange
              wrote last edited by
              #15

              @whitequark

              A complete guess, but:

              A lot of networking equipment used big-endian MIPS until recently. Big-endian avoided a load of byte swapping for packet headers (this is effectively free on more complex cores) and MIPS basically gave away the R4K core when they were low on cash (unlimited-use licenses). It may be that Realtek did it deliberately to make it easier to read on big-endian MIPS, but I wouldn’t be at all surprised if they did testing on big-endian MIPS and forgot that they needed to byte swap, so it passed the tests and then they shipped it.

              whitequark@social.treehouse.systemsW 1 Reply Last reply
              0
              • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                @whitequark

                A complete guess, but:

                A lot of networking equipment used big-endian MIPS until recently. Big-endian avoided a load of byte swapping for packet headers (this is effectively free on more complex cores) and MIPS basically gave away the R4K core when they were low on cash (unlimited-use licenses). It may be that Realtek did it deliberately to make it easier to read on big-endian MIPS, but I wouldn’t be at all surprised if they did testing on big-endian MIPS and forgot that they needed to byte swap, so it passed the tests and then they shipped it.

                whitequark@social.treehouse.systemsW This user is from outside of this forum
                whitequark@social.treehouse.systemsW This user is from outside of this forum
                whitequark@social.treehouse.systems
                wrote last edited by
                #16

                @david_chisnall no, this isn't it

                david_chisnall@infosec.exchangeD 1 Reply Last reply
                0
                • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                  @david_chisnall no, this isn't it

                  david_chisnall@infosec.exchangeD This user is from outside of this forum
                  david_chisnall@infosec.exchangeD This user is from outside of this forum
                  david_chisnall@infosec.exchange
                  wrote last edited by
                  #17

                  @whitequark Their DV team is made of vampires and they were hanging upside down when they got to this bit?

                  whitequark@social.treehouse.systemsW 1 Reply Last reply
                  0
                  • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                    @whitequark Their DV team is made of vampires and they were hanging upside down when they got to this bit?

                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systems
                    wrote last edited by
                    #18

                    @david_chisnall yes, but make it IBM. Realtek seems to be doing what everyone else is doing

                    whitequark@social.treehouse.systemsW david_chisnall@infosec.exchangeD 2 Replies Last reply
                    0
                    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                      @david_chisnall yes, but make it IBM. Realtek seems to be doing what everyone else is doing

                      whitequark@social.treehouse.systemsW This user is from outside of this forum
                      whitequark@social.treehouse.systemsW This user is from outside of this forum
                      whitequark@social.treehouse.systems
                      wrote last edited by
                      #19

                      @david_chisnall as far as I can tell there is no rationale or justification, they fucked it up and now we all gotta deal with it forever

                      1 Reply Last reply
                      0
                      • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                        @david_chisnall yes, but make it IBM. Realtek seems to be doing what everyone else is doing

                        david_chisnall@infosec.exchangeD This user is from outside of this forum
                        david_chisnall@infosec.exchangeD This user is from outside of this forum
                        david_chisnall@infosec.exchange
                        wrote last edited by
                        #20

                        @whitequark

                        Weird, that implies there’s some hiring overlap between IBM’s legal and DV teams.

                        1 Reply Last reply
                        1
                        0
                        • R relay@relay.infosec.exchange shared this topic
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups