inconsistent addressing of smb slaves

Andriy Gapon avg at icyb.net.ua
Fri Nov 28 05:20:56 PST 2008


on 21/11/2008 19:15 Andriy Gapon said the following:
> on 21/11/2008 18:48 Gavin Atkinson said the following:
>> On Fri, 2008-11-21 at 17:16 +0100, Joerg Wunsch wrote:
>>> As Andriy Gapon wrote:
>>>
>>>> Now:
>>>>
>>>> (0x44 << 1) & 0xff == (0xc4 << 1) & 0xff = 0x88 (looks like RTC)
>>>> (0x50 << 1) & 0xff == (0xd0 << 1) & 0xff = 0xa0 (well known SPD addr)
>>>> (0x52 << 1) & 0xff == (0xd2 << 1) & 0xff = 0xa4 (well known SPD addr)
>>>> (0x80 << 1) & 0xff = 0x0 (mentioned above "global address")
>>>> (0x88 << 1) & 0xff == MIN_I2C_ADDR = 0x10 (something weird)
>>>>
>>>> I think that this demonstrates that FreeBSD smb driver expects slave
>>>> addresses in range 0x0-0x7f.
>>> Well, the machine I've been writing smbmsg(8) on has been a Sun E450 I
>>> don't have access to any longer, so I cannot post a live example
>>> output.  However, I could swear the output did make sense on that
>>> machine, i. e. the typical 0xa0 etc. addresses were populated there.
>>> Basically, the 0xa0 example you can find in the EXAMPLES section of
>>> the man page has been tailored after an actual session transcript made
>>> on said Sun E450.  (I'm not completely sure about the 0x70 example
>>> anymore, this could be a hypothetical one.)
>>>
>>> So could that be a backend driver issue, so various backend drivers
>>> use different addressing formats? *shudder*
>> I believe this is the case, yes.  See for example, PR kern/100513.  It
>> appears that some frivers treat the adfdress one way, and others treat
>> it the other.
> 
> Darn it! Thank you!
> I also started to have doubts and almost came to conclusion that this is
> 6.X vs 7.X issue, because on my 6.X machine everything worked
> reasonably. But I now see that my 6.X machine has nfsmb and 7.X machines
> have ichsmb.
> 
> PR link for convenience:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=100513
> 
> We have to settle to one addressing scheme or the other.

I did some searching through code and it seems that only ichsmb is a
black sheep, all others seem to be consistent with each other.


-- 
Andriy Gapon


More information about the freebsd-stable mailing list