Hello, My Freeradius seems only to read radcheck table, not to read radgroupcheck table from MS SQL. Here is my settings: In /mssql/dialup.conf, I edit two queries for authorized_check_query and authorize_group_check_query, instead of using the default ones. Doing this is easy for our database programming. authorize_check_query = "RADIUS_authorize_check_query '%{SQL-User-Name}'" authorize_group_check_query = "RADIUS_authorize_group_check_query '%{SQL-User-Name}'" in sql.conf, read_group is set to yes. Then I suppose Freeradius should start to read group tables. When I test a user whose username is associated to a group name and pool-name, Freeradius returns only authentication successful, but no group info or IP is returned. Here is the debug: rad_recv: Access-Request packet from host 172.16.1.5 port 1723, id=20, length=57 User-Name = "dr.julien.olivier" User-Password = "acdq" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop rlm_realm: No '@' in User-Name = "dr.julien.olivier", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: No EAP-Message, not doing EAP ++[eap] returns noop ++[unix] returns notfound ++[files] returns noop expand: %{User-Name} -> dr.julien.olivier rlm_sql (sql): sql_set_user escaped user --> 'dr.julien.olivier' rlm_sql (sql): Reserving sql socket id: 2 expand: RADIUS_authorize_check_query '%{SQL-User-Name}' -> RADIUS_authorize_check_query 'dr.julien.olivier' query: RADIUS_authorize_check_query 'dr.julien.olivier' rlm_sql (sql): User found in radcheck table expand: SELECT id,UserName,Attribute,Value,op FROM radreply WHERE Username = '%{SQL-User-Name}' ORDER BY id -> SELECT id,UserName,Attribute,Value,op FROM radreply WHERE Username = 'dr.julien.olivier' ORDER BY id query: SELECT id,UserName,Attribute,Value,op FROM radreply WHERE Username = 'dr.julien.olivier' ORDER BY id rlm_sql (sql): Released sql socket id: 2 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop ++[pap] returns updated rad_check_password: Found Auth-Type auth: type "PAP" +- entering group PAP rlm_pap: login attempt with password "acdq" rlm_pap: Using clear text password "acdq" rlm_pap: User authenticated successfully ++[pap] returns ok +- entering group post-auth rlm_ippool: Could not find Pool-Name attribute. ++[netplus] returns noop rlm_ippool: Could not find Pool-Name attribute. ++[staffnet] returns noop rlm_ippool: Could not find Pool-Name attribute. ++[julienne] returns noop rlm_sql (sql): Processing sql_postauth expand: %{User-Name} -> dr.julien.olivier rlm_sql (sql): sql_set_user escaped user --> 'dr.julien.olivier' ++[sql] returns noop Sending Access-Accept of id 20 to 172.16.1.5 port 1723 Finished request 122. Going to the next request Waking up in 4.9 seconds. Cleaning up request 122 ID 20 with timestamp +79236 Ready to process requests. I don't know where I set it wrong or anything I miss to configure. I mean if radcheck table works, it means at least the query that I changed is working. So I don't know with the same idea, why radgroupcheck does not work. Could anyone give me some ideas? Thanks so much XJ