ok scratch that last post. sorry.. after looking at my own logcat i can see that it's just not connecting to the ppp server because that 8th bit is getting eliminated for some reason.
could it be authentication? for some reason CM7 has something in it that doesn't qualify when using wifi?
would a logcat from CTMOD help?
I most suspect it's trying to initiate the ppp connection over wifi causing it to fail. First because it's most likely -- makes complete sense why mms would work with wifi off and not with it on
I second-most suspect it's not being successful at authenticating (creating the ppp session) because the wrong information is being sent or something similar. Second because it's not as likely as the first, but is the most common reason for a ppp session to fail.
I third-most suspect it's an issue with pppd itself, misconfiguration, sent the wrong info, something of that sort. This is third because it seems less likely... it doesn't have any trouble working with the wifi off, so no strong reason to suspect misconfiguration or broken things. Also if things were broken in this manner, I would suspect it wouldn't be as reproducable as every time wifi is on... it would probably also not work sometimes with wifi off etc.
That's all I've got so far. Though I'm not exactly an expert on PPP or linux, I know both of them better than the internal workings of android or any phone for that matter. This makes it more difficult for me to determine the exact issue.
Remember that a PPP session is initated directly from one host (your android phone) to another (the receiving server that will ultimately deliver your MMS message). In order for it to work, the components are somewhat simple. You need the host to be working (it is, or MMS wouldn't work at all). You need to be able to reach that host. And, you need to be able to successfully establish your session with that host by providing the correct information it's waiting on.
Right now from what I can see it looks like the break is somewhere in step two, being able to reach that host. Even if you're getting a malformed response, it may be due to the host not "behaving" properly, which could mean you've got the wrong host, or the host refuses to cooperate because the information coming in is not what it expects or wants. This is the best I can do with just general knowledge, I would need to know specifics about this particular ppp session and how it's established to dig any deeper =\
would a logcat from CTMOD help?
It certainly wouldn't hurt. Can you send an MMS with wifi enabled and try to capture a similar portion of the log? Not sure how much different the two are, so it may not do us any good, but it might help